bash 脚本:if 中的参数太多

bash 脚本:if 中的参数太多

我在给定目录中的文件夹循环if中设置了一个条件for,检查每个文件夹中是否存在特定文件,如果不存在则跳过该文件夹。该if条件给出了参数过多的错误:

line 2: [: too many arguments

这是我的语法:

for folders in path; do
    if [ ! -e /sub/folder/file* ]; then
        continue
    fi
    #do-stuff-to-file
done

类似的循环检查子目录工作! -d正常......

答案1

通配符就是问题所在。假设你有文件A和文件B,它将扩展为:

if [ ! -e /sub/folder/fileA /sub/folder/fileB ]; then

从语法上来说,这是无效的。

相关内容