我的if
bash脚本中有一个必须检查2个文件是否存在的文件,如果不存在,则应回显匹配。
代码我有:
if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then
echo "match"
fi
但这出于某种原因似乎不起作用。
我有110%的肯定这两个文件不存在。我没有任何错误,只是没有输入if
。
我是bash脚本的新手,所以不确定是否可能出问题。
警告:
—
斯特凡Chazelas
[[ -f xxx ]]
如果xxx存在且为常规文件(或指向常规文件的符号链接),则返回true 。如果它不存在,或者无法分辨它是否存在,或者是否存在但不是常规文件(目录,管道,设备,套接字...),或者它是一个符号链接,它将返回false。到一个不存在的文件,或者无法判断该文件是否存在或不是常规文件... [[ -e $file ]] || [[ -L $file ]]
更接近于存在性测试。ls -d -- "$file" > /dev/null 2>&1
更近了。通常,这种测试会导致比赛条件。也许还有另一种方式。
[[ ! -f /etc/.../... ]]; echo $?
每个。