tar --exclude 値で配列

tar --exclude 値で配列

一部のバックアップスクリプトを作成したいが、一部のディレクトリを除外する必要があります。そのため、私は除外されたすべてのディレクトリをこのような配列に設定することにしました。

exclude[0] = '/home/user/test1'
exclude[1] = '/home/user/test2'
exclude[2] = '/home/user/test3'

この配列をtarコマンドの引数として提供できますか?

tar -zcvf $FILE $SOURCE --exclude=exclude

ベストアンサー1

そしてzsh

exclude=(
  /home/user/test1
  /home/user/test2
  /home/user/test3
)
tar  --exclude=$^exclude -zcvf $FILE $SOURCE

この$^exclude構文を使用すると、上記の内容を次に拡張できます。

tar  --exclude=/home/user/test1 --exclude=/home/user/test2 \
     --exclude=/home/user/test3 -zcvf the-file the-source

rcデフォルトでは、およびesシェルはfish配列を使用してこれを実行するため、これらのシェルでは次のことができます。

tar  --exclude=$exclude -zcvf $FILE $SOURCE

set exclude /home/user/test1 /home/user/test2 /home/user/test3(配列を定義するために使用されますfish

おすすめ記事