gpt4 book ai didi

tcl - 如何获取当前脚本的路径?

转载 作者:行者123 更新时间:2023-12-04 01:33:39 28 4
gpt4 key购买 nike

有时需要获取脚本的当前路径。有哪些方法可以做到这一点?

最佳答案

当正在评估脚本时(但不一定在调用其过程时),当前的脚本名称(严格来说,无论传递给 source 或 C API 等效项,Tcl_EvalFile() 和相关的任何内容)是 info script 的结果;强烈建议将其标准化为绝对路径名,以便对 cd 的任何调用不要改变解释。

需要信息的脚本往往会在自己内部放入类似的内容:

# This is a *good* use of [variable]…
variable myLocation [file normalize [info script]]

然后他们可以轻松检索值(或从中派生的东西):
proc getResourceDirectory {} {
variable myLocation
return [file dirname $myLocation]
}

其他常见的位置是:
  • $::argv0这是“主”脚本(如果它等于 info script,您正在评估主脚本)
  • [info nameofexecutable]这是 Tcl 解释器程序本身(通常是 C 级别的 argv[0])
  • [info library]这是 Tcl 自己的库脚本所在的位置
  • $::tcl_pkgPath这是安装包的目录的 Tcl 列表
  • $::auto_path这是搜索脚本的 Tcl 目录列表(包括包!包路径用于初始化。)
  • 关于tcl - 如何获取当前脚本的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23285360/

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