现在感觉有点傻:
为什么我的条件总是正确的?
我试过了
# this should let me know what's not a directory or
# symbolic link.
whoa=`find ${MUSICDIR} ! -type l ! -type d | wc -l`
# I would expect if it's 0 (meaning nothing was found) that
# one of these statements would evaluate to false, but so far
# it's always evaluating to true
if [[ "${whoa}" != "0" ]]
do something
fi
if [[ ${whoa} -gt 0 ]]
do something
fi
我错过了什么?
答案1
事实证明,我遗漏了 if 语句后的“then”。
应该
if [[ "${whoa}" != "0" ]]
then
do something
fi
答案2
反引号收集子进程的标准输出,并将whoa
包含文本,而不是错误级别。您可以使用它$?
来获取最后一个命令的错误级别。
但是如果您使用 find,您可以使用其exec
功能来做一些事情。
另外,您可以使用f
文件类型来查找常规文件。