作者:450651324_43c723 | 来源:互联网 | 2023-02-09 17:33
测试变量是否已在zsh中设置的规范/惯用方法是什么?
if ....something.... ; then
print "Sweet, that variable is defined"
else
print "That variable is not defined"
fi
这是bash的SO答案.
1> paulmelnikow..:
在Zsh中执行此操作的典型方法是:
if (( ${+SOME_VARIABLE} )); then
例如:
if (( ${+commands[brew]} )); then
brew install mypackage
else
print "Please install Homebrew first."
fi
在Zsh 5.3及更高版本中,您可以-v
在条件表达式中使用运算符:
if [[ -v SOME_VARIABLE ]]; then
符合POSIX标准的测试将是
if [ -n "${SOME_VARIABLE+1}" ]; then
2> chepner..:
使用-v
(在引入zsh
5.3)操作者在的条件表达式。
% unset foo
% [[ -v foo ]] && echo "foo is set"
% foo=
% [[ -v foo ]] && echo "foo is set"
foo is set