Bash脚本:当前我应该在一个目录中有500个文件,如果缺少任何文件,如何停止bash脚本?

时间:2018-06-24 11:46:17

标签: bash

我目前有一个目录,该目录应该包含500个文件。每个文件的名称格式均为List.1.rds, ... List.500.rds。通过bash中的以下代码,可以查看丢失的内容:

for((i=1; i<=500; i++)); do name="List.${i}.rds"; [[ ! -e "$name" ]] && echo "missing $name"; done

如果缺少文件,则返回缺少的文件名。但是,如果缺少任何文件,我想更进一步,并停止整个脚本。有没有办法做到这一点?谢谢。

1 个答案:

答案 0 :(得分:2)

就像丢失文件时设置标志一样简单:

miss=0
for ((i=1;i<=500;i++)); do
    file=List.$i.rds
    if [[ ! -e $file ]]; then
        echo "Missing $file"
        miss=1
    fi
done

# exit if "miss" flag is 1
((miss)) && exit 1