$+commands[...]の+は何をしますか?

$+commands[...]の+は何をしますか?

ここに別の検索不可能な質問があります。どう説明しますか$+commands[foobar]?私はそれがの変形だと思います$commands[foobar]が、誰が知っていますか? (少なくともzshを使用すると、絶対にわかりません。 )

また、zsh文書やオンラインでこの質問に対する答えを検索する方法を知りたいです。

ベストアンサー1

この内容は次のように記録されます。zsh 文書のパラメーター拡張セクション:

${+name}
  If name is the name of a set parameter ‘1’ is substituted, otherwise ‘0’
  is substituted.

例:

$ unset foo
$ if (( $+foo )); then echo set; else echo not set; fi
not set
$ foo=1
$ if (( $+foo )); then echo set; else echo not set; fi
set

から返された名前が設定パラメータであることを確認し$+commands[foobar]てください。zsh$commands[foobar]

おすすめ記事