11

bash スクリプトでコマンドを使用してcp ./* "backup_$timestamp"、ディレクトリ内のすべてのファイルをサブディレクトリ内のバックアップ フォルダーにバックアップしています。これは正常に機能しますが、スクリプトは警告メッセージを出力し続けます。

cp: omitting directory `./backup_1364935268'

知りたい他の警告を黙らせずに cp をシャットダウンするにはどうすればよいですか?

4

3 に答える 3

3

cp -rおそらく、そのスクリプトで使用したいと思うでしょう。これにより、ディレクトリを含むソースが再帰的にコピーされます。ディレクトリがコピーされ、メッセージが消えます。


ディレクトリをコピーしたくない場合は、次のことができます。

  • を使用して stderr を stdout にリダイレクトします2>&1
  • 出力を grep -v にパイプします
script 2>&1 | grep -v 'omitting directory' 

grep man ページからの引用:

  -v, --invert-match
          Invert the sense of matching, to select non-matching lines.
于 2013-04-02T20:51:26.177 に答える
-1

ディレクトリをコピーするときは、必ず -R を使用してください

cp -R ソース source_duplicate_copy_name

-R, -r, --recursive ディレクトリを再帰的にコピーします

  --reflink[=WHEN]         control clone/CoW copies. See below
  --remove-destination     remove each existing destination file before
                             attempting to open it (contrast with --force)
  --sparse=WHEN            control creation of sparse files. See below
  --strip-trailing-slashes  remove any trailing slashes from each SOURCE
于 2018-08-07T14:49:37.377 に答える