我有两个shell脚本;让我们调用那些script1和script2。
在script1中,我调用了script2。当我从本地终端调用script1时它工作正常,但当我通过ssh启动这个命令时:
plink.exe -ssh hostname -l user -pw password "path to script1/script1"
我收到此错误:
脚本2未找到。
现在我可以在script1中放一个绝对路径来调用script2,但问题是script2调用其他脚本等等......
我可以避免ssh从root查找命令吗?
答案 0 :(得分:1)
在script1中,尝试在脚本开头添加它有助于:
cd $(dirname "$0")
或者在调用script2时调用pushd / popd。
pushd $(dirname "$0")
relative_path_for_script2/script2 arg1 arg2 ...
popd
如果在从终端手动呼叫时,您需要从特定目录执行script1
,而不是说/tmp
,pushd
该目录。
答案 1 :(得分:0)
在script1
或调用它的代码中设置PATH
。