在脚本引用本地文件时从其他目录运行tcl脚本

在脚本引用本地文件时从其他目录运行tcl脚本,tcl,filepath,Tcl,Filepath,有两个或多个脚本。 脚本A 脚本B #Script B source "script A" # some code 当我从脚本B的位置运行脚本B时,它工作正常。 但我需要从其他位置运行它,如: _>/some/other/location/#tclsh pathtoscript b/script.tcl 它给出了一个错误 无法读取文件“脚本A”:没有此类文件或目录。 注意:脚本的位置可以根据使用它的用户进行更改。 尝试第页末尾给出的技巧- 针对这种情况,脚本B将执行以下操作: source [

有两个或多个脚本。
脚本A

脚本B

#Script B
source "script A"
# some code
当我从脚本B的位置运行脚本B时,它工作正常。
但我需要从其他位置运行它,如:
_>/some/other/location/#tclsh pathtoscript b/script.tcl

它给出了一个错误
无法读取文件“脚本A”:没有此类文件或目录。

注意:脚本的位置可以根据使用它的用户进行更改。

尝试第页末尾给出的技巧- 针对这种情况,脚本B将执行以下操作:

source [file join [file dirname [info script]] "script A"]

尝试第页末尾给出的技巧- 针对这种情况,脚本B将执行以下操作:

source [file join [file dirname [info script]] "script A"]

您是否尝试过类似于
source“$pathtoscript/script.tcl”
?我们不知道用户在哪个路径存储这些脚本。我们只知道两个脚本都在同一个位置..那么scriptB的路径呢?假设脚本存储在A/B/C/scriptB.tcl
中,但我们可以从路径A/D/E运行它,然后根据您之前的评论,scriptA将位于同一位置,对吗?您是否尝试了类似于
source“$pathtoscriptA/script.tcl”的操作
?我们不知道用户存储这些脚本的路径。我们只知道两个脚本都在同一个位置。那么scriptB的路径呢?假设脚本存储在A/B/C/scriptB.tcl
中,但我们可以从路径A/D/E运行它,那么scriptA将根据您之前的评论位于同一位置,对吗?