Bash 如果文件名不为';不匹配

Bash 如果文件名不为';不匹配,bash,Bash,我使用bash脚本在shell中多次执行命令: for i in $(seq 0 202); do xqcdio.convert.to.general /global/homes/s/sufian/job-run/output/c2.avg.00$(($i*40+495)).data.save binarydata/c2.avg.00$(($i*40+495)).bin < input$(($i*40+495)).txt done 以美元表示的i的(序号0 202);做 xqcd

我使用bash脚本在shell中多次执行命令:

for i in $(seq 0 202); do
    xqcdio.convert.to.general /global/homes/s/sufian/job-run/output/c2.avg.00$(($i*40+495)).data.save binarydata/c2.avg.00$(($i*40+495)).bin < input$(($i*40+495)).txt
done
以美元表示的i的
(序号0 202);做
xqcdio.convert.to.general/global/homes/s/sufian/job run/output/c2.avg.00$($i*40+495)).data.save binarydata/c2.avg.00$($i*40+495)).bin
问题是如果缺少一些文件,例如
c2.avg.008305.data.save
和其他几个文件,则命令会立即终止


如果找不到文件,是否可以跳过执行命令并移动到下一个文件?

使用
测试
查看文件是否首先存在

for i in ... ; do [ -f "somefile$i" ] && ... ; done

使用
继续

[[ ! -f missing_file_path ]] && continue;
#put this immediately after do

跳过执行并移动到下一个迭代。

如果循环中的某个命令失败,循环不应终止,除非您使用的是
set-e
或类似命令。你是吗?或者,即使是单个命令也无法达到您想要避免的效果?谢谢。我帮了很多汉克斯。谢谢我帮了很多忙