Bash 中かっこ「バインディング」

Bash 中かっこ「バインディング」

バッシュでは

echo a{b,c}d{e,f}

印刷

abde    abdf    acde    acdf

私が見たい出力は

abde    acdf

つまり、与えられた窒素Bashが使用したいパラメータ構成する各中括弧ペア内の最初のパラメーター窒素ひも。

ベストアンサー1

これを行うには、配列を使用します。

$ foo=( b c ); bar=( e f ); for i in {0..1}; do echo a${foo[$i]}d${bar[$i]}; done
abde
acdf

実際のユースケースはもう少し複雑であると仮定しているので、他のコマンドを使用して配列を埋め、そのサイズが必ずしもわからない場合は、次のようにします。

foo=( b c ); bar=( e f ); for i in $(seq 0 $((${#foo[@]}-1))); do 
   echo a${foo[$i]}d${bar[$i]}; 
done

おすすめ記事