如何使用zsh函数';如果可以的话,我们会回来吗?
我正在尝试创建一个函数,该函数检查目录是否存在,如果存在则返回1,否则返回0。这是一个实用函数,我在if语句中使用它。这是密码如何使用zsh函数';如果可以的话,我们会回来吗?,zsh,Zsh,我正在尝试创建一个函数,该函数检查目录是否存在,如果存在则返回1,否则返回0。这是一个实用函数,我在if语句中使用它。这是密码 function bean-exists { if (( $# < 1 )); then print "usage: $0 BEAN_NAME" >&2 exit -1 fi if [[ -e "${YAHMDIR}/beans/$1" ]]; then echo "FOUND" return 1 f
function bean-exists {
if (( $# < 1 )); then
print "usage: $0 BEAN_NAME" >&2
exit -1
fi
if [[ -e "${YAHMDIR}/beans/$1" ]]; then
echo "FOUND"
return 1
fi
return -1
}
if (bean-exists "hosts"); then
echo YEAH
else
echo NOPS
fi
什么时候,如果找到的话,应该打印是的。有人能给我解释一下发生了什么吗?在Unix shell中(与许多其他编程语言相反)0
表示true,任何其他(整数值)表示false。这与Unix程序在成功完成时返回0
有关,任何其他值(通常在1到255之间)都表示某些负面结果或错误
因此,如果文件存在,则应返回0
,如果文件不存在,则应返回1
当您返回1
时,if
将其解释为false
,并转到else
分支
如果未找到文件,则函数在结尾处实际返回1。这是正确的,但从您的描述来看,我希望
返回0
谢谢!最后那return1
是一个打字错误。原始代码有一个返回-1
。我修正了它,这样它就不会让看问题的人感到困惑。
FOUND
NOPS