测试变量是否已在zsh中设置的规范/惯用方法是什么?
if ....something.... ; then
print "Sweet, that variable is defined"
else
print "That variable is not defined"
fi
Run Code Online (Sandbox Code Playgroud)
这是bash的SO答案.
pau*_*kow 15
在Zsh中执行此操作的典型方法是:
if (( ${+SOME_VARIABLE} )); then
Run Code Online (Sandbox Code Playgroud)
例如:
if (( ${+commands[brew]} )); then
brew install mypackage
else
print "Please install Homebrew first."
fi
Run Code Online (Sandbox Code Playgroud)
在Zsh 5.3及更高版本中,您可以-v
在条件表达式中使用运算符:
if [[ -v SOME_VARIABLE ]]; then
Run Code Online (Sandbox Code Playgroud)
符合POSIX标准的测试将是
if [ -n "${SOME_VARIABLE+1}" ]; then
Run Code Online (Sandbox Code Playgroud)
使用-v
(在引入zsh
5.3)操作者在的条件表达式。
% unset foo
% [[ -v foo ]] && echo "foo is set"
% foo=
% [[ -v foo ]] && echo "foo is set"
foo is set
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7804 次 |
最近记录: |