rm -f file と rm file || true に差はある?

投稿者: Anonymous

bash で file という名前のファイルを削除したいが、そのファイルが存在しなかったときも終了ステータスを 0 にしたいと思い、rm -f file を使いました。しばらくして、とある方が同じ目的で rm file || true を使っていることを知りました。私の環境ではどちらの場合もスクリプト実行後の $?0 になってくれたのですが、それ以外の違いがあるのか、man を見てもよく分かりませんでした。

質問: rm -f filerm file || true の挙動に何か違いはありますか? 特定の環境における差でも構いません。

私の環境: bash 4.3.48(1)-release (x86_64-pc-linux-gnu), rm (GNU coreutils) 8.25

解決

rm file || trueだと、そのファイルを消すか尋ねられますが、rm -f fileだと尋ねられません。-fはnever promptなので。
前者が尋ねられるかどうかは環境によるかもしれませんが.

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *