Bashスクリプトで「cp」コマンドを使用し、特定のディレクトリを除外する

Bashスクリプトで「cp」コマンドを使用し、特定のディレクトリを除外する

シェルスクリプトでこのコマンドを実行する必要がありますソース>ターゲットコピーフォルダを除外します。

rsync、tar、find、mvなどはありません。

まさにこのコマンドは次のようになります。

cp -var test/!(test2) testbkp

  1. シェルで動作します
  2. Bashスクリプトで実行してください。cp -var test testbkp仕組みと同様に除外する必要はありません。

除外オプションを使用してBashスクリプトで実行しようとしたとき

cp -var test/!(test2) testbkp、動作しません。

出力もなく、何もなく、エラーメッセージもありません。

この投稿も確認しましたが、結果はありません。 シェルスクリプトで実行すると、cpコマンドは実行されません。

Bashスクリプトでこのcpコマンドを実行してフォルダを除外するにはどうすればよいですか?

答え1

このオプションを有効にする必要があり、スクリプトではextglobデフォルトで有効になっていません。

#!/bin/bash
shopt -s extglob
cp -var test/!(test2) testbkp

また、スクリプトが実際にbashで実行されていることを確認してください。

関連情報