nohup:无法运行命令“。”:权限被拒绝

nohup:无法运行命令“。”:权限被拒绝

我尝试使用以下命令执行我的脚本:

nohup . test.sh

nohup . ./test.sh

然而,我得到的是:nohup: failed to run command `.': Permission denied每次。

我真正想做的是在我的脚本中能够调用我已别名的命令,但它仅适用于“ . test.sh”或“ . ./test.sh”,而不适用于“ ./test.sh”或“ sh ./test.sh”,因为我收到“找不到命令”。但我希望能够使用“nohup”来运行它。

答案1

nohup运行可执行文件。您需要向其传递外部命令,即可执行文件。您不能nohup调用 shell 构造,例如别名、函数或内置函数。nohup运行一个新进程,它不会在现有的 shell 进程中运行某些内容(因为nohup它本身是一个单独的进程),所以nohup . …没有意义。

nohup ./test.sh是使用 nohup 运行 shell 脚本的正确方法。确保脚本正确地以 shebang 行 ( #!/bin/sh) 开头,并且文件可执行 ( chmod +x ./test.sh)。

相关内容