Linux cpコマンドはサイレントではない

Linux cpコマンドはサイレントではない

-f cpはサイレントになるはずだとわかっていますが、そうではありません!

cp -rf Functional Functionalssssssss

そして、Functional が存在しない場合は、「Functional」を統計できませんと表示されます...しかし、私はエラーメッセージを見たくないのです!! 自分で対処したいのです

答え1

出力cannot stat...は実際にはstderrではなくに送信されていますstdout。質問で提供されている特定の例では、次のようstderrに にリダイレクトすることでエラー出力を抑制します/dev/null

cp -rf Functional Functionalssssssss 2>/dev/null

また、少なくともcp私の Debian Linux サーバー上の のバージョンでは、-fは普遍的な「サイレント」フラグではありません。 は の同義語であり--force、コピー前に既存のコピー先ファイルをサイレントに消去することを意味しますcp

答え2

bash または sh (posix 標準) を使用している場合は、[ -f file ] && cp file target これが望ましいものです。

これはファイルが存在するかどうかを確認し、それをコピーします。エラーとはおさらばです。

関連情報