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
本文深入探讨了Shell脚本中变量替换的基本概念与应用场景,包括变量的声明与赋值、空变量处理、变量检测及非空变量替换等核心知识点。通过具体示例说明不同场景下变量替换的使用方法。
3739

被折叠的 条评论
为什么被折叠?



