尝试从另一个 sh 文件执行 sh 文件时出现问题

尝试从另一个 sh 文件执行 sh 文件时出现问题

我有以下脚本:

#!/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

相关内容