我需要在腳本中執行任意次數的關聯任意參數的命令。簡化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的實現),而我使用的版本2(2.04g我認爲)BASH。
喜歡它。爲了簡潔而讓我滿意,並且讓我感到羞恥,因爲我們不在閱讀'man'頁面。 – Jamie
如果您想在param3之後忽略,請改爲使用'read label param1 param2 ignored'。 – kamae