![尝试从另一个 sh 文件执行 sh 文件时出现问题](https://linux22.com/image/62947/%E5%B0%9D%E8%AF%95%E4%BB%8E%E5%8F%A6%E4%B8%80%E4%B8%AA%20sh%20%E6%96%87%E4%BB%B6%E6%89%A7%E8%A1%8C%20sh%20%E6%96%87%E4%BB%B6%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我有以下脚本:
#!/bin/bash
if test -f "/path/pycharm.sh"; then sh ./pycharm.sh;
fi
我正在尝试跑步pycharm.sh从 bash 文件中,我仔细查看了该文件所需的所有权限。不幸的是,每次我运行它时,我都会得到这个:
无法打开./pycharm.sh
答案1
您不用./
来运行脚本一般来说,您使用它来运行程序(脚本或编译的二进制文件)
在当前目录下。如果第二个脚本位于 中/path/pycharm.sh
,那么您应该将其运行为/path/pycharm.sh
, 而不是./pycharm.sh
。
答案2
您的 shell 脚本位于另一个目录中,请使用绝对路径。
sh /path/pycharm.sh
答案3
该错误相当明确:
- 它要么不存在于指定的路径中,要么
- 它没有权限打开它。
由于您使用的是相对路径,所以我会把钱放在第一个路径上。指定第二个的完整路径pycharm.sh
,它应该可以工作。
答案4
我是否遗漏了某些内容,或者您是否打算执行您首先检查其是否存在的字符串。如果是的话,那么正确的做法是这样的:
#!/bin/bash
if test -f "/path/pycharm.sh"; then /path/./pycharm.sh;
fi