我想在 Linux 中编写一个 bash
脚本,多次执行一个程序(例如 3 次),并根据文本文件中提供的值列表指定一个开关值。
例如,假设有一些程序 programname
有一个开关 -switch
将 float 作为输入。因此,该程序的一次执行可能会显示为:
programname -switch 0.05
其中 0.05 是传递给开关 -switch
的特定值。
现在我想读入某种文本文件,其中包含我想在 programname< 的单独调用中连续传递给
。我的文本文件 -switch
的值列表test.txt
可能包含这些数据:
0.05
3.19
100.75
我想编写一个 bash
脚本,它将读取文本文件并有效地连续进行这些调用:
programname -switch 0.05
programname -switch 3.19
programname -switch 100.75
我在想这样的事情:
#!/bin/bash
for i in {1..3}
do
programname -switch $x
done
但是,我应该输入什么来代替 $x
?换句话说,我不确定如何读取 test.txt
并将其内容逐一提供给 -switch
作为 for
循环运行。你有什么建议吗?谢谢!
最佳答案
无需使用任何外部实用程序。计数器递增和读取
可以如图所示一起完成,或者计数器递增可以移动到循环内的任何位置。
while ((i++)); read -r value
do
programname -switch "$value" -other "$i"
done < test.txt
关于linux - 在 bash 脚本中,如何将文本文件中包含的值提供给程序执行的开关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11277199/