中かっこ拡張文の拡張バージョンを表示する方法はありますか?
たとえば、次のようになります。
$ bundle exec rake db:{drop,create,migrate}
拡張バージョンはこれまで拡張されていますか?
$ bundle exec rake db:drop
$ bundle exec rake db:create
$ bundle exec rake db:migrate
答え1
まあ、あなたはいつもできます。
~ for i (drop create migrate) echo bundle exec rake db:$i
bundle exec rake db:drop
bundle exec rake db:create
bundle exec rake db:migrate
または
~ echo bundle exec rake db:{drop,create,migrate}
bundle exec rake db:drop db:create db:migrate
答え2
この3行で表示されるには、次のものが必要です。
$ print -rl 'bundle exec rake db:'{drop,create,migrate}
bundle exec rake db:drop
bundle exec rake db:create
bundle exec rake db:migrate
x{a,b}y
最初のパラメーターと2番目のパラメーターが{a,b}
置き換えられる2つのパラメーターを作成します。a
b
上記の作業を行うには、パイプで接続するかsh
(またはzsh
特定のコードがない場合でも)、次のように書くことができます。zsh
eval 'bundle exec rake db:'{drop,create,migrate}$'\n'
答え3
いいえ、次に展開されます。
bundle exec rake db:drop db:create db:migrate
zsh
文書では、支柱の拡張部分:
'foo{xx,yy,zz}bar' 形式の文字列は、別の単語 'fooxxbar'、'fooyybar'、および 'foozzbar' に展開されます。左から右の順序を維持します。この構文は入れ子にすることができます。カンマは文字通り単語に含まれるように引用することができます。