我不能从 'script1.sh' 运行 'script2.sh' (它们在同一个文件夹中并且具有 755 权限)

I can't run 'script2.sh' from 'script1.sh' (they are in the same folder and have 755 permission)

我有一个愚蠢的问题,我希望你能帮助我.. 我有“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

运行没问题! ..节目 2 个帖子 zenity

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

但是问题就在这里...

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

意思是压组合键时运行从'script1.sh'变成'script2.sh'失败...为什么? 怎么解决这个问题?

谢谢!

只有当 运行 script1.sh 来自同一目录 script2.sh 时才有效,因为 ./script2.sh 表示来自当前目录的 运行 script2 .

您可以将 PATH 设置为包括包含脚本的目录,省略 ./ 或输入 script2.sh.

的绝对路径名

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

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

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