1. 變量替換並賦值
:= 變量已聲明,但取值爲空
= 變量未聲明
username=""
echo ${username:=$LOGNAME} # usr_ins
echo $username # usr_ins
unset username
echo ${username=$LOGNAME} # usr_ins
echo $username # usr_ins
2. 變量替換(空變量)
:- 變量已聲明,但取值爲空
- 變量未聲明
username=""
echo ${username:-$LOGNAME} # usr_ins
echo $username # NULL
unset username
echo ${username-$LOGNAME} # usr_ins
echo $username # NULL
3. 變量檢測
username=""
echo ${username:?"Empty variable"} # ksh: username: Empty variable
unset username
echo ${username?"Undefined variable"} # ksh: username: Undefined variable
4. 變量替換(非空變量)
username="eli"
echo ${username:+$LOGNAME} # usr_ins
echo $username # eli
username=""
echo ${username+$LOGNAME} # usr_ins
unset username
echo ${username+$LOGNAME} # NULL