パラメータ拡張への参照が見つかりましたが、それが何で$^@
あるかを説明するものはありません。コンテキストでは、例えば~/$^@
に拡張するためのものだと思います~/$1 ~/$2 ...
が、確かではなく、確認も見つかりません。説明に加えて、この拡張機能の名前とそれに関するドキュメントリンク(可能な場合)を知りたいです。ありがとうございます!
編集:これはzshにのみ当てはまると聞きました。誰でもより多くの情報を持っている場合は、お知らせください。
答え1
zsh
シェルでは、配列(たとえば)はfoo${^array}bar
文字列、および:の代わりに(中括弧拡張と同様に)拡張されます。array
(a b c)
fooabar
foobbar
foocbar
fooa
b
cbar
$ array=(a b c)
$ print -rC1 foo${^array}bar
fooabar
foobbar
foocbar
$ print -rC1 foo${array}bar
fooa
b
cbar
引用コードでは、これは~/
位置引数リストの各要素に(ユーザーのホームディレクトリのパス名)を追加するために使用されます。
$ set -- a b c "bumble bee"
$ print -rC1 ~/$^@
/home/myself/a
/home/myself/b
/home/myself/c
/home/myself/bumble bee
~/$^@
同じです~/${^@}
。または、位置引数のリスト(通常は現在のスクリプトまたはシェル関数の引数、または上記の組み込み$@
ユーティリティを使用して${@}
設定された文字列)です。set
zshall
マニュアルで検索してみてくださいRC_EXPAND_PARAM
。拡張機能は元のものから来ることができます。rc
シェル。