打击“内联”条件语句
我的目标是一个参数添加到一个程序正在执行,如果一个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"} 一些好的DOC: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[@]}" 
以上是 打击“内联”条件语句 的全部内容, 来源链接: utcz.com/qa/257416.html

