我需要根据变量$BAD_SCENARIO
的值向程序传递特定的选项,这或多或少是一个标志(1或0或空)。我想到了
program $([ "$BAD_SCENARIO" = "1" ] && echo "--emergency-cleanup" || echo "--normal-cleanup")
$([ "$BAD_SCENARIO" = "1" ] && echo "--notify-admin" || echo "")
看起来很啰嗦。有更好的方法吗?
使用bash数组。使用if
args=()
if [ "$BAD_SCENARIO" = "1" ]; then
args+=(--emergency-cleanup --notify-admin)
else
args+=(--normal-cleanup)
fi
program "${args[@]}"