を使用してコードを実行したいと思います
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
&
コマンドを非同期ジョブ(「バックグラウンドジョブ」)として実行する必要がある場合は、コマンドの末尾にそれを追加してください。
実際のスクリプトについては、以下を参照してください。いつ二重引用符が必要ですか?