我有这个问题" ./ script1.sh not found"当从另一个script2.sh调用时,它实际上被绑定到键盘快捷键(control + e)。
当我按下control + e时,script2.sh立即打开一个新终端并开始执行其任务,但是当它必须调用script1.sh时,它会显示此错误,即:sh: 1: ./script2.sh: not found
< / p>
当我在终端中手动运行它时工作正常,这是当前的工作目录,即HOME,但是当从快捷方式启动时它不起作用,即控制+ e,它执行一半的任务。
问题是这些脚本设置了不同的路径
"./exampleProgam"
或"./exampleScript"
并且没有完整路径,例如"/home/user/program"
或"/home/user/script"
。
所以我不想扔掉大约70个文件并手动将路径逐个更改为完整路径,例如&#34; / home / user / folder&#34;。 我还必须编写额外的代码才能获得主目录路径。
所有这些脚本和C程序都放在一个文件夹中,即home direcory中的folder1:/home/user/folder1/script2.sh
,而script1.sh放在
/home/user/script1.sh
默认情况下终端shell在哪里打开。因为当我按下控件+ e并且程序在shell中启动时,它不会显示任何路径等但只是开始执行。
答案 0 :(得分:0)
我强烈建议你继续实际修复路径。
或许您可以添加代码并寻求有关如何编辑/修改这些行的帮助(可能使用sed,如评论中所述)/
但是既然你没有展示你的代码,现在真的很难纠正它,也许你可以尝试添加cd /home/user/script/
作为script1.sh
文件中的第一行。这将更改current directory
以获取更多命令。