我有$ HOME / foo / foo.mov文件
if [[ -f $HOME/**/*.mov ]]; then
echo "file is there" else
echo "file is not there"
fi
回声“文件不存在”。而,
if [ -f $HOME/**/*.mov ]]; then
echo "file is there" else
echo "file is not there"
fi
回应“那里的文件”。
为什么[[]]和[]之间有区别?
答案 0 :(得分:2)
[
命令的参数受路径名扩展的影响; [[ ... ]]
中使用的单词不是。
如果您收到file is there
,我怀疑您确实拥有与该模式匹配的一个文件。否则,-f
的参数太多,或者模式将被视为不命名现有文件的文字字符串。