当bash从另一个script2.sh

时间:2017-08-29 21:02:27

标签: linux bash shell

我有这个问题" ./ 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中启动时,它不会显示任何路径等但只是开始执行。

1 个答案:

答案 0 :(得分:0)

我强烈建议你继续实际修复路径。

或许您可以添加代码并寻求有关如何编辑/修改这些行的帮助(可能使用sed,如评论中所述)/

但是既然你没有展示你的代码,现在真的很难纠正它,也许你可以尝试添加cd /home/user/script/作为script1.sh文件中的第一行。这将更改current directory以获取更多命令。