zshパラメータのすべての属性を印刷する方法は?

zshパラメータのすべての属性を印刷する方法は?

-U重複した要素を含めることができないように、非関連配列にこのプロパティを提供できます。

% declare -U path
% path=( ~/bin $path )
% path=( ~/bin $path )
% echo $path

ここでは~/bin配列にpath2回追加しましたが、後者には1つの要素しか含まれていません~/bin

この属性を含め、割り当て中にパラメータに提供できるすべての属性を印刷する方法を探しています-U

typesetのコマンドを見て、次のman zshbuiltins抜粋を見つけました。

name=value で割り当てない限り、+m を使用すると、関数内でも一致する引数とその属性が出力されます。

だから、次のコマンドを実行してみました。

% declare -U path
% declare +m 'path'

出力は次のとおりです。

array path

パラメータの種類(ここでは配列)を教えてくれますが、その-U属性があることはわかりません。

パラメータのすべての属性を印刷する別のコマンドはありますか?

答え1

あなたはそれを使用することができます:

$ echo ${(t)path}
array-unique-special

情報が提供されていればと思いますtypeset -p path(または携帯性が良いのでdeclare好みます)。typesetしかし、現在のバージョンには存在しませんが、これは私が見るにはバグのようです(編集する:今は修正されました。)。

以下も使用できます。

typeset -U +

属性を持つ変数を一覧表示しますunique

関連情報