我使用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
问题是如果缺少某些文件,例如c2.avg.008305.data.save
和其他几个文件,则命令会立即终止。
如果找不到文件并且移动到下一个文件,我是否可以跳过执行命令?
答案 0 :(得分:1)
使用test
查看该文件是否存在。
for i in ... ; do [ -f "somefile$i" ] && ... ; done
答案 1 :(得分:1)
使用continue
:
[[ ! -f missing_file_path ]] && continue;
#put this immediately after do
跳过执行并转到下一次迭代。