bash でコマンドへ同じような引数を繰り返して指定する場合にブレース展開を使う

bash にブレース展開というものがあって、コマンドへ同じような引数を繰り返して指定する場合に便利です。

ブレース展開:
bashのブレース展開を使ってカンマ区切りリストを作る - 双六工場日誌
bashには、ブレース展開というブレース({}のカッコのこと)の中身を一定の法則で展開して、半角スペース区切りのリストにしてくれる機能があります。



例えば、rsyncで除外ファイルを複数指定する場合、次のように書けます。


rsync -av --delete --exclude={swapfile,"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/snap/*"} / /mnt/backup/


これは、--exclude= が展開されて次と同等です。

rsync -av --delete --exclude=swapfile --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found --exclude=/snap/* / /mnt/backup/


echo で手軽に試してみることができます。


echo para={1,2,3}

上のように実行すると、結果は次のように、展開されて表示されます。


para=1 para=2 para=3


ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント