住宅支援の拡大は右から左へ

住宅支援の拡大は右から左へ

zsh(および他のシェル)に次のパラメータを含めると、次のようになります。

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

中括弧の拡張は次のように変更されます。

ad ae af bd be bf cd ce cf

私の目的では、引数の順序が重要です。左から右ではなく、右から左に拡張するには中かっこが必要です。つまり、次のように拡張したいと思います。

ad bd cd ae be ce af bf cf

複数の中かっこセットが拡張される順序を制御する方法はありますか?私はこれらの主張だけでなく、どんな状況でも動作することを探しています。

ベストアンサー1

パラメータ拡張とガサイ拡張を組み合わせることができます。

% foo=(d e f)
$ echo {a,b,c}${^foo}
ad bd cd ae be ce af bf cf

別に定義したくない場合foo(おそらく)、次のものを使用できます。

$ echo {a,b,c}${^:-d e f}
ad bd cd ae be ce af bf cf

このオプションを設定すると、この動作を有効にするための例の1つはrcexpandparam必要ありません。^

(注:テスト中にオプションも設定しましたshwordsplit。設定されていない場合は、たとえば、試してみてくださいecho {a,b,c}${^=:-d e f}。ストーリーのレッスン:ほとんどすべてが可能ですzshが、オプションと構文の正しい組み合わせを使用する必要があります。)

おすすめ記事