shell变量赋值与环境(2)

1) #引用变量值#    # reminder='Time to go to the dentist!'
    # echo $reminder
    Time to go to the dentist!   
    # echo _${reminder}_  #使用{}可以保护变量,避免额外的字符影响变量。
    _Time to go to the dentist!_
   
    警告: 默认,未定义的变量展开为null(空字符串)。程序随便乱写,就可能会导致灾难发生:           
                # rm -fr /$MYPROGRAM        如未设置MYPROGRAM,就会有大灾难发生了!
        所以,写程序要非常小心。2) #替换运算符# 测试字符串变量存在状态,且某种情况下允许默认值替换。

运算符替换例子用途
${varname:-word}   如果varname存在且非null,则返回其值;否则,返回word   # echo ${var:-hello,world} var为不为空,返回其值;否则,返回hello,world   如果变量未定义,则返回默认值  
${varname:=word}   如果varname存在且非null,则返回它的值;否则,设置它为word,并返回其值   # echo ${var:-hello,world} ;如果var有值,返回其值;否则,返回hello,world,并赋值给var   如果变量未定义,则设置变量为默认值  
${varname:?message}   如果varname存在且非null,则返回它的值;否则,显示varname:message,并退出当前的命令或脚本。省略message,会出现默认信息parameter null or not set。   ${count:?"undefined/1"}将显示 count:undefined!,如果count未定义,则退出   为了捕捉由于变量未定义所导致的错误。  
${varname:+word}   如果varname存在且非null,则返回word;否则,返回null。   如果count已定义,则${count:+1}返回1(也就是“真”)   为测试变量存在  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/01f0a7031c780784572a98d6e66c81a4.html