nohup: "。"コマンドを実行できません:権限が拒否されました。

nohup:

次のコマンドを使用してスクリプトを実行しようとします。

nohup . test.sh

そして

nohup . ./test.sh

しかし、私が得ることはnohup: failed to run command `.': Permission denied毎回です。

私が本当に望むのは、スクリプトで別名を指定したコマンドを呼び出すことです。ただし、" . test.sh"または" . ./test.sh"でのみ機能し、" ./test.sh"または" sh ./test.sh"では機能しません。なぜなら、「command not Found」というメッセージが表示されるからです。しかし、「nohup」を使って実行できるようにしたいです。

ベストアンサー1

nohup実行ファイルを実行します。外部コマンド、つまり実行可能ファイルを渡す必要があります。nohupエイリアス、関数、組み込み関数などのシェル設定は呼び出すことはできません。nohup新しいプロセスを実行すると、既存のシェルプロセス内で何かが実行されないため(別々nohupのプロセス自体であるため)、nohup . …何の意味もありません。

nohup ./test.shnohupを使用してシェルスクリプトを実行する正しい方法です。スクリプトがshebang行で正しく起動していること(#!/bin/sh)、ファイルが実行可能であること(chmod +x ./test.sh)を確認してください。

おすすめ記事