微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 在bash脚本中,如何将文本文件中包含的值提供给程序执行的开关?

我想在Linux中编写一个执行程序多次(例如,3次)的bash脚本,并根据文本文件中提供的值列表指定切换值.

例如,假设有一些程序programname有一个开关-switch,它以浮点数作为输入.因此,该程序的一次执行可能是:

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中读取并在for循环运行时将其内容逐个提供给-switch.你有什么建议吗?谢谢!

解决方法:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐