bash
何年も使ってきましたし、今後も使い続けたいです。しかし同時に、そこにはいくつかのzsh
素晴らしいユーティリティがあります。これらのコマンドのポートはありますか(たとえばzmv
、別の実行可能ファイルとして存在しますzcalc
)。または、次のトリックを使用する必要がありますか?zparseopts
/bin
これ?
ベストアンサー1
zsh
利点は、非常に優れたワイルドカードおよびパラメータ拡張演算子zmv
にあります。zsh
同様のものは 'のワイルドカードおよびパラメータ拡張演算子bmv
に限定され、'ほど有用ではbash
ありません。zsh
zmv
同様の演算子を使用するforがある場合でも、そのzmv
演算子を学ぶ必要があり、これらの高度な演算子を使用できない場所で使用すると不満を感じます。bash
zsh
bash
とにかく、bash
次の方法でいつでも後者を実行できます。
zmv() {
zsh -c 'autoload zmv && zmv "$@"' zmv "$@"
}
zcalc() {
zsh -c 'autoload zcalc && zcalc "$@"' zcalc "$@"
}
zmv
ここで、およびは、インタプリタへの新しい呼び出しでその関数をzcalc
実行する関数として定義されます。zsh
zsh
bash
しかし、この関数の制限は、明らかにシェルの内部変数にアクセスできないことです。
たとえば、pi = 4 * atan(1)
thatでこれを行うと、zcalc
その$pi
変数はシェルで使用できなくなりますbash
。
同じ理由でこのアプローチをとることはzparseopts
まったく役に立ちません。