nohup: 'display_files.sh' を実行できません。そのファイルやディレクトリはありません。

nohup: 'display_files.sh' を実行できません。そのファイルやディレクトリはありません。

を使用してコードを実行したいと思います nohup shellskriptname &。ところで、ファイルを見ようとするたびに、nohupそのファイルがないと言われます。このように入力するにはどうすればよいですか?

#!/usr/bin/bash
# To Display Files and Folders from current Directory

echo Displaying all the Directories in the current directory

for item in *
do
        if [ -d $item ]
         then
                echo $item
        fi
done

echo Displaying all the Files in the current directory

for item in *
do
        if [ -f $item ]
        then
                echo $item
        fi
done

ベストアンサー1

を使用するか、使用せずにスクリプトを実行するかにかかわらず、シェルはにリストされているnohupディレクトリで指定されたコマンド(スクリプト)を見つけようとします$PATH。ディレクトリパス(絶対または相対)を使用してスクリプト名を指定しないと、これが行われます。

現在、FreeBSDシステムマニュアルのユーティリティnohupの環境変数の使用について説明していますPATH

PATH
名前に対応する/ 文字が含まれていない場合は、要求されたユーティリティを見つけるために使用されます。

これは、シェルと同様に、コマンドにディレクトリパスが含まれていない場合は、指定されたnohupユーティリティを見つけることを意味します。$PATH

したがって、スクリプトがshellskriptname現在のディレクトリーにあり、現在のディレクトリーがのディレクトリーの1つではない場合は、$PATH次のようにします。

shellskriptname

または

nohup shellskriptname

あなたが説明する方法で失敗します。

代わりにスクリプトパスを指定してください。

nohup ./shellskriptname

&コマンドを非同期ジョブ(「バックグラウンドジョブ」)として実行する必要がある場合は、コマンドの末尾にそれを追加してください。

実際のスクリプトについては、以下を参照してください。いつ二重引用符が必要ですか?

おすすめ記事