gpt4 book ai didi

unix - 获取脚本所在的目录

转载 作者:行者123 更新时间:2023-12-04 16:06:43 25 4
gpt4 key购买 nike

我正在写一个 Tcl 脚本,我想获取保存脚本的目录(不是当前目录,所以 $env(PWD) 是不是我想要的)。

这可能吗?

最佳答案

当脚本直接执行时,您使用:

set theDir [file normalize [file dirname [info script]]]

必须在脚本的顶层或namespace eval中运行(你应该使用variable而不是出于技术原因设置)。特别是,它不应放在过程中并稍后调用,因为到那时 info script 调用将返回其他内容。因此,典型的包实现脚本可能如下所示:

namespace eval ::samplePackage {
variable theDir [file normalize [file dirname [info script]]]
source $theDir/foo.tcl
source $theDir/bar.tcl
load $theDir/grill[info sharedlibextension]
package provide samplePackage 1.0
}

如果这是主应用程序,您还可以使用 $::argv0 代替 info script。这在您的代码运行期间不会改变(除非您手动设置它)。

关于unix - 获取脚本所在的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com