#!/bin/bash
########## DEBUG Mode ###########
if [ -z ${FLUX_DEBUG+x} ];
then FLUX_DEBUG=0
else FLUX_DEBUG=1
fi
答案 0 :(得分:1)
FLUX_DEBUG
只是一个变量,未定义时${FLUX_DEBUG+x}
扩展为空字符串“”,否则扩展为x
,请注意,它与${FLUX_DEBUG:+x}
略有不同,后者扩展为空如果FLUX_DEBUG设置为空字符串,也为字符串。
例如比较:
unset FLUX_DEBUG
echo ${FLUX_DEBUG+x}
echo ${FLUX_DEBUG:+x}
FLUX_DEBUG=
echo ${FLUX_DEBUG+x}
echo ${FLUX_DEBUG:+x}
FLUX_DEBUG=value
echo ${FLUX_DEBUG+x}
echo ${FLUX_DEBUG:+x}
有关更多信息,read bash manual