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

问题是,如果某些文件丢失,例如 c2.avg.008305.data.save 和其他几个文件,则命令会立即终止。

如果没有找到文件,我可以跳过执行命令并移至下一个文件吗?

最佳答案

使用继续:

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

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

关于bash 命令如果文件名不匹配则跳过执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30107089/

相关文章:

linux - 保存从 cat 到数组的行

linux - 在Bash中,Kill后台函数不会杀死内部进程,为什么它们有不同的pid?

linux - 在 .spec 文件中为包创建目录 - 包含版本和名称

ruby - 检测 USB 设备连接/分离并发送电子邮件

BASH 脚本 - 删除超过 X 天的文件夹(部分及所有子文件夹/文件除外)

bash - 如果已使用单引号和双引号,则 find -exec 的解决方案

linux - bash:xargs 传递变量

找不到 MySQL 命令 [MAMP]

bash - "source"shell 脚本中的命令不起作用

bash - 为什么脚本要在变量中定义常用命令?