読者です 読者をやめる 読者になる 読者になる

たごもりすメモ

コードとかその他の話とか。

bashでパターン展開を行うときの注意点

shell

おや、と思ったのでメモ。

ブレース展開とグロブ展開を組合せたとき

  • bashはブレース展開後のグロブ展開時、パターンにマッチするものがなければパターンをそのまま出力する
  • tcshはブレース展開後のグロブ展開時、パターンにマッチするものがなければ何も出力しない
実例
$ ls
x_1.gz  x_1.log y_1.log
$ bash -c 'echo {x,y}_*.{log,gz}'
x_1.log x_1.gz y_1.log y_*.gz
$ tcsh -c 'echo {x,y}_*.{log,gz}'
x_1.log x_1.gz y_1.log