无法从 shell 脚本运行命令,但直接在终端中输入命令就可以了

无法从 shell 脚本运行命令,但直接在终端中输入命令就可以了

我正在尝试运行包含以下内容的 shell 脚本

ns script.tcl
sleep 100

在终端中输入命令ns时工作正常,但是显示:

ns : not found

从 shell 脚本运行时。

答案1

#!/bin/bash
ns script.tcl
sleep 100

如果您尝试在顶部使用正确的解释器声明来运行脚本,会发生什么情况?这可能会加载您的 $PATH,这就是您的终端知道在哪里找到 的方式ns

如果此方法无效,您可以尝试以下操作:

#!/bin/bash
/usr/bin/ns script.tcl
sleep 100

您可能应该指向 script.tcl 所在的路径/目录。如果它与 bash 脚本位于同一目录中,那么就没问题了。但是如果您的 CWD 有 script.tcl,会发生什么?编写脚本时最好具体一点。我能够通过在终端中ns运行来判断它的位置。which ns

相关内容