linux - 简化 BASH 脚本设计

标签 linux bash

我需要使用关联的任意参数在脚本中执行任意次数的命令。

我决定脚本将从参数文件 ( 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/

相关文章:

linux - 是否有适用于 Ubuntu 64 位的 Flex IDE/开发环境?

java - Arval SQLException : FATAL: sorry, postgres 中已有太多客户端

linux - 在 html/php 输出中显示/var/log/messages?

mysql - 需要在cron作业中添加mysql查询

bash - 在 awk 中重置行号计数

arrays - 如何将数组转换为逗号分隔的字符串?

bash - 为自定义命令前置的所有命令保留 Bash Completion

c++ - 将使用 CreateEvent 和 WaitForMultipleObjects 的程序移植到 Linux

启动 Linux 上的 Python 脚本

c - 在 Raspberry pi 上安装 AODV 协议(protocol) (https ://github. com/erimatnor/aodv-uu)