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

linux – 简化BASH脚本设计

@H_404_0@我需要在脚本中执行任意次数的命令以及相关的任意参数.

@H_404_0@我已经决定脚本将从参数文件(parameter.txt)获取提示,其中行的形式如下:

@H_404_0@

label param1 param2
@H_404_0@对于parameter.txt中的每一行,我将使用指定的参数调用该命令.

@H_404_0@到目前为止,我的修修补补是沿着下面的方向移动,但它看起来很乱:

@H_404_0@

while read line; do 
    echo $line | sed -r 's/[^ ]+ ([^ ]+).+/\1/' && 
        echo $line | sed -r 's/[^ ]+ [^ ]+ ([^ ]+)/\1/'
done < parameter.txt
@H_404_0@我的命令是以下形式:

@H_404_0@

mycmd -a param1 -b param2 > label
@H_404_0@我可以得到一些建议如何简化这个吗?

@H_404_0@我这样做是为了一个小的嵌入式系统,其’助手’命令供不应求(例如xargs不可用,像awk这样的东西是忙碌的繁忙盒实现),我正在使用版本2(2.04g我认为)BASH.

解决方法:

@H_404_0@
while read label param1 param2; do
    mycmd -a "$param1" -b "$param2" > "$label"
done < parameter.txt

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

相关推荐