我无法从'script1.sh'运行'script2.sh'(它们位于同一个文件夹中且拥有755权限)

时间:2015-12-16 15:40:52

标签: linux bash shell scripting gnome

我有一个愚蠢的问题,我希望你能帮助我.. 我有“script1.sh”和“script2.sh”,两者都有权限755并且在同一个文件夹中

script1.sh:

#!/bin/bash
zenity --info --text="SCRIPT1.sh"
./script2.sh
exit 0

script2.sh:

#!/bin/bash
zenity --info --text="TEST SCRIPT2.SH "
exit 0

制作cd到包含脚本的文件夹,然后(从bash控制台)写:

./script1.sh

它运行一切OK! ..显示2帖子zenity

----------------------------------------

但问题出在这里......

如果我创建一个快捷方式'gnome'(所有设置>快捷键>键盘)和收入为/path/to/script1.sh命令..只显示第一条消息zenity(script1.sh)

这意味着当压力键组合时,无法从'script1.sh'运行'script2.sh'...为什么? 怎么能解决这个问题呢?

谢谢!

2 个答案:

答案 0 :(得分:1)

只有当您从同一目录script1.sh运行script2.sh时才会这样做,因为./script2.sh表示从当前目录运行script2。

您可以将PATH设置为包含包含脚本的目录,省略./或输入script2.sh的绝对路径名。

答案 1 :(得分:0)

创建快捷方式时,它只运行您的第一个脚本,因为您指定了 /path/to/script1.sh ,并且由于第二个脚本不在您当前的工作目录中,因此无法找到该文件。如果我是你,我会把你的第一个剧本重写为......

#!/bin/bash
zenity --info --text="SCRIPT1.sh"
/PATH/TO/SCRIPT/script2.sh
exit 0

您可以添加一些逻辑来搜索文件系统以查找文件以检索位置信息,或者您可以简单地修改$ PATH以包含该位置。