![](/img/trans.png)
[英]How do i stop text showing up when user types during execution of bash script?
[英]In a bash script, how do I provide values contained in a text file to the switch of a program execution?
我想在Linux中编写一个bash
脚本,它多次执行一个程序(例如,3次),并根据文本文件中提供的值列表指定一个switch值。
例如,假设有一些程序programname
具有开关-switch
,需要一个浮点数作为输入。 因此,该程序的一次执行可能是:
programname -switch 0.05
其中0.05是传递给开关-switch
的特定值。
现在,我想读在某种有,我想传球,连续值的列表的文本文件,以-switch
在单独的呼叫programname
。 我的文本文件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
读取并在for
循环运行时将其内容逐个提供给-switch
。 你有什么建议吗? 谢谢!
无需使用任何外部实用程序。 计数器增量和read
可以如图所示一起完成,或者计数器增量可以在循环内的任何位置移动。
while ((i++)); read -r value
do
programname -switch "$value" -other "$i"
done < test.txt
values.txt:
0.05
3.19
100.75
script.sh:
#!/bin/bash
counter=1
for value in $(cat values.txt)
do
programname -switch $value -counter $counter
counter=$(expr $counter + 1)
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.