【发布时间】:2020-04-24 18:14:33
【问题描述】:
不幸的是,我正在为某种“简单的想法”而苦苦挣扎。
在我的 Bash 脚本中,我正在检查一个变量,如果它已设置,我将向用户打印输出(有点详细/显示输出)。
[ ! -z $boolVerbose ] && fnc_print2user "i" "Print to user in one-line"
这对我来说很好用。
现在我有不允许抑制其输出的命令,所以如果我上面的变量设置/不为空,我想隐藏它或显示它。
我尝试了以下(以及其他几个选项..),按原样运行命令(意味着:显示输出),期望变量未设置/为空,然后它应该附加“&> /dev/ null" 到之前的命令(所以禁止输出)。
commandWithOutput $([ -z $boolVerbose ] && echo " &> /dev/null")
如果我设置了详细变量,脚本运行良好,但如果没有设置,我的 commandWithOutput 会抛出一个错误,指出设置了无效的参数(如果我硬编码以抑制每次它像魅力一样工作)。
是否可以像上面那样在单行中进行某种动态命令调整,还是我必须在内部使用不同的 commandWithOutput 方法构建真正的 if-else 语句? 提前感谢您的想法和帮助! :-)
【问题讨论】:
标签: bash if-statement dynamic