これは私のサンプルbashコードです:
exec_command(){
command_1="<some string 1>"
command_2="<some string 2>"
command_3="<some string 3>"
now=$@
echo $now
}
for (( i=1; i<=3; i++ )); do
exec_command "command_$i"
ここで、特殊変数$@
は関数内の別の変数を参照します。コマンド_1、コマンド_2などの内容を表示するには、echo $nowが必要です。代わりに、出力を command_1、command_2 として出力するだけです。
eval を使ってみたのですが、 $i 部分の置換の設定方法がわかりません。if else ブロックを使用して関数内の各変数を一致させることもできますが、それはあまりにも不器用です。もっと良い方法はありますか?