私がする時
rm file.txt
または
rm *.txt
rm
に-f
オプションを指定しなかったため、ファイルごとにプロンプトが表示されます。
しかし、私がこれをするとき:
find . -type f -name '*.txt' | xargs rm
ファイルは確認なしで削除されます。
この背後にある論理は何ですか?一部のドキュメントで理由を見つけることは可能ですか?なぜそうなるのか説明できません。
Rmコマンドのエイリアスが 'rm -i'に設定されています。したがって、次のようにコマンドを直接呼び出すと、
rm file.txt
または
rm *.txt
エイリアスは展開されます。あなたがのようにxargsでそれを呼び出す場合
find . -type f -name '*.txt' | xargs rm
Rmは単純な文字列引数としてxargsに渡され、後でシェルのエイリアス置換なしでxargsによって呼び出されます。エイリアスは、削除する場合に備えて、おそらく〜/ .bashrcで定義されています。