で、この答え私は読んでいくつかのコードを持っていました:
if [[ $ZSH_VERSION ]]; then
これは次のように編集されました:
if [[ -n $ZSH_VERSION ]]; then
更新:編集コメントを見たところです:
[[x]]は最近までzshで機能しませんでした
zsh
リリースノートを調べましたが、これへの参照が見つかりませんでした。
どのzsh
バージョンが最初に許可されました[[ x ]]
か?
zsh
5.5.1ドキュメントCONDITIONAL EXPRESSIONS
互換性のために、構文的に重要ではない単一の引数(通常は変数)がある場合、条件は、式がゼロ以外の長さの文字列として展開されるかどうかのテストとして扱われます。つまり、[[$ var]]は[[-n $ var]]と同じです。可能な場合は、2番目の明示的な形式を使用することをお勧めします。
ソースツリーが周りにあると、
% grep -rl 'if there is a single argument' .
./Doc/Zsh/cond.yo
% git blame ./Doc/Zsh/cond.yo | grep 'if there is a single argument'
d082827c83 (Jun T 2014-05-18 22:03:35 +0900 198) For compat...
を調べるgit log
と、コードの変更がドキュメントよりも少し早く行われたことがわかります。
commit 9d47e8398d299e53ffe4e7ddf3731d2fedae9948
...
Date: Tue May 13 08:16:50 2014 -0700
32609: [[ $var ]] behaves as [[ -n $var ]] for bash/ksh compatibility
ChangeLog
ファイルのへのマッピングはgit tag
私にはわかりませんが、zsh
5.0.6(Thu Aug 28 19:07:04 2014 +0100)がこの変更を加えた最初のバージョンであるように見えます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加