bash - 如何将多个具有迭代名称的文件传递给 bash 脚本中的可执行函数?
问题描述
我有一个可执行文件,它接受输入.h5
文件并返回和输出.h5
文件。我生成了几个具有迭代名称的输入文件,我想在 for 循环中将它们传递给可执行文件。
我认为 for 定义存在问题,我尝试了不同的语法,但都没有奏效。
for input_data_ in Dataset/*.h5;
do
for ((n=1; n<=10, n++))
do
./myexecutable -i "$input_data_" -o "output/$(basename "$input_data_" .h)_out.h5"
done
done
我收到此错误:"arithmetic expression required"
输入文件名:input_data_1.h5
,input_data_2.h5
...我将文件传递-i
给可执行文件并-o
返回输出文件。这些文件位于名为Dataset
.
解决方案
for 循环中存在语法错误。
for ((n=1; n<=10, n++))
您已使用,
而不是;
. 这就是您收到"arithmetic expression required"
错误的原因。
将其更改为for ((n=1; n<=10; n++))
将修复错误。
推荐阅读
- progressive-web-apps - TWA 沉浸式模式
- javascript - 从导航栏打开 React JS 模态
- azure-durable-functions - PurgeInstanceHistoryAsync 是否删除使用 ContinueAsNew 的无限编排的旧历史记录
- c# - Device.NET 记录器工厂
- ruby-on-rails - Ruby on Rails 选择器标签
- android - 如果任何对象抛出 SQL 异常,Android Room 插入列表将失败
- docker - 我可以在 docker 容器中以非 root 用户身份绑定到端口 80。为什么?这是怎么回事?
- reactjs - React cookie 未存储在 Chrome 中,但在 Firefox 中
- typescript - 如何从 tsdoc / typedoc 中正确排除测试文件
- java - 在eclipse中编译java代码时出错