オプションで一連のコマンドをバックグラウンドで bash を使用して実行したいと考えています。このようなもの
#!/bin/bash
BGR=""
if [ foo ] ; then
BGR=\&
fi
cmd1 $BGR
cmd2 $BGR
cmd3 $BGR
wait
しかし、これは bash では不可能のようです。foo
が true の場合、コマンドは次のように評価されます
+ cmd1 '&'
+ cmd2 '&'
+ cmd3 '&'
& は単なる別の引数です。
これを達成する他の方法はありますか?コードの重複に加えて、異なる動作の if/then/else ブロックを記述します。