私の目標は、bash変数が存在する場合に実行されるプログラムに、次のように引数を追加することです。
bob -a some_arg (( if we have ${VAR} defined add '-b ${VAR}' as an argument ))
次のようなことは避けたいです。
if [[ -z ${VAR} ]]; then
bob -a some_arg
else
bob -a some_arg -b ${VAR}
fi
しかし、それが唯一の選択肢ですか?
私の目標は、bash変数が存在する場合に実行されるプログラムに、次のように引数を追加することです。
bob -a some_arg (( if we have ${VAR} defined add '-b ${VAR}' as an argument ))
次のようなことは避けたいです。
if [[ -z ${VAR} ]]; then
bob -a some_arg
else
bob -a some_arg -b ${VAR}
fi
しかし、それが唯一の選択肢ですか?
bashパラメータ展開の使用:
bob -a some_arg ${VAR:+-b "$VAR"}
良いドキュメント: http://wiki.bash-hackers.org/syntax/pe
また、LANG=C man bash | less +/'Parameter Expansion'
そのために配列を使用できます(Arraysを参照):
args=( -a some_args )
if [ ... ] ; then
args+=( -b "${VAR}" )
fi
bob "${args[@]}"