我需要使用关联的任意参数在脚本中执行任意次数的命令。
我决定脚本将从参数文件 ( parameter.txt
) 获取提示,其中行的形式为:
label param1 param2
对于 parameter.txt
中的每一行, 我将调用带有指定参数的命令。
到目前为止,我的修补是沿着以下方向进行的,但它看起来很乱:
while read line; do
echo $line | sed -r 's/[^ ]+ ([^ ]+).+/\1/' &&
echo $line | sed -r 's/[^ ]+ [^ ]+ ([^ ]+)/\1/'
done < parameter.txt
我的命令是这样的:
mycmd -a param1 -b param2 > label
我能得到一些如何简化这个的建议吗?
我正在为一个小型嵌入式系统执行此操作,该系统的“帮助程序”命令供不应求(例如 xargs
不可用,而像 awk
之类的东西是受阻的 busybox 实现),我我正在使用 BASH 的第 2 版(我认为是 2.04g)。
最佳答案
while read label param1 param2; do
mycmd -a "$param1" -b "$param2" > "$label"
done < parameter.txt
关于linux - 简化 BASH 脚本设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508893/