スクリプト内の任意の回数、関連する任意のパラメータでコマンドを実行する必要があります。BASHスクリプト設計を簡略化
私はスクリプトがラインの形式は、パラメータ・ファイル(parameter.txt
)からその手がかりを取ることを決定した
:parameter.txt
に各行の
label param1 param2
、私は指定してコマンドを呼び出しますパラメーター。
はこれまでのところ、私の工夫は、次のラインに沿って動いているが、それは厄介探している:
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の。
それを愛する。簡略化のための完全なポイントと、 'read' manページをRFMしないための愚かさを感じさせます。 – Jamie
param3の後で無視する場合は、代わりに 'read label param1 param2 ignored'を使用してください。 – kamae