私はこれらの行だ:これらは、私はエラーメッセージを取得存在しない場合抑制シェルスクリプトのエラーメッセージ
rm tempfl.txt
rm tempfl2.txt
を:
rm: tempfl2.txt: No such file or directory
rm: tempfl.txt: No such file or directory
のみこれらを抑制するための方法はありますファイルが存在する可能性があるため、常に表示されるとは限りません。
私はこれらの行だ:これらは、私はエラーメッセージを取得存在しない場合抑制シェルスクリプトのエラーメッセージ
rm tempfl.txt
rm tempfl2.txt
を:
rm: tempfl2.txt: No such file or directory
rm: tempfl.txt: No such file or directory
のみこれらを抑制するための方法はありますファイルが存在する可能性があるため、常に表示されるとは限りません。
あなたは2つのオプションがあります。後者は、他のすべての警告メッセージを欠落しているという欠点を持っている
抑制rm
警告
$ rm tempfl.txt 2> /dev/null
リダイレクトスクリプトの出力/dev/null
$ ./myscript.sh 2> /dev/null
にしますあなたのスクリプトによって生成されます。
rm -fは慎重に使用してください。 – hetepeperfan
良い点、ありがとう – kamituel
あなたは
上記の回答に追加rm tempfl2.txt 2> /dev/null
のように/ dev/nullにすべてのエラーメッセージをリダイレクトする必要があります。(許可拒否またはそのようないくつかのような)エラーメッセージを維持するために、おそらく良いアイデアです。
[ -f file.txt ] && rm file.txt
これは、Bourneのようなシェル(例:bash)を想定しています。上記には、ディレクトリを削除しようとしないという追加の利点があります。rm
は実行できません。
ありがとう、これもうまくいった –
は、このコマンドを試してみてください。
rm -f tempfl.txt
は、-fオプションは、このような役割を果たし:
-f, --force ignore nonexistent files, never prompt
ファイルがない場合には、コマンドが非ゼロのエラーコードを報告しません。存在する。
あなたの答えの詳細を教えてください。 – GraphicsMuncher
我々は成功終了状態を確保するために、出力誤差と|| true
を抑制するために2> /dev/null
を使用することができます。
rm foo
=> rm: cannot remove ‘foo’: No such file or directory
rm foo 2> /dev/null
echo $?
=> 1
rm foo 2> /dev/null || true
echo $?
=> 0
あなたは多分あなたはこれを必要とするなど、シェルスクリプトでメイクファイルをコマンドを使用している場合。
ここをクリックしてください:http://stackoverflow.com/questions/12785533/command-not-found-message-is-redirected-too – ConcurrentHashMap