【Shell】设置变量默认值,参数默认值, 自动赋值
生活随笔
收集整理的這篇文章主要介紹了
【Shell】设置变量默认值,参数默认值, 自动赋值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
設置變量默認值,參數默認值, 自動賦值
轉自:https://zhuanlan.zhihu.com/p/98636736
默認參數(變量默認值)
if 繁瑣方式
if [ ! $1 ]; then$1='default' fi- 變量為null
取默認值變量 為 null ${vari-defaultValue}# 實踐 [root@yjx214 /]# unset name [root@yjx214 /]# echo ${name}[root@yjx214 /]# echo ${name-yjx} yjx [root@yjx214 /]# name= [root@yjx214 /]# echo ${name-yjx}[root@yjx214 /]# echo ${name}[root@yjx214 /]#= 變量為null時, 同時改變變量值
[root@yjx214 /]# unset name [root@yjx214 /]# echo ${name=yjx} yjx [root@yjx214 /]# echo $name yjx [root@yjx214 /]# name="" [root@yjx214 /]# echo ${name=yjx}[root@yjx214 /]#:- 變量為null 或 空字符串
取默認值變量為null 變量為空字符串 ${vari:-defaultValue}:= 變量為null 或 空字符串, 同時改變變量值
{$vari:=defaultValue}測試 null[root@yjx214 /]# unset name[root@yjx214 /]# echo ${name:=yjx} yjx [root@yjx214 /]# echo ${name} yjx [root@yjx214 /]# 測試 空字符串[root@yjx214 /]# name="" [root@yjx214 /]# echo ${name:=yjx} yjx [root@yjx214 /]# echo $name yjx:? 變量為null 或 空字符串時報錯并退出
[root@yjx214 /]# unset name [root@yjx214 /]# echo ${name:?yjx} -bash: name: yjx [root@yjx214 /]# name="" [root@yjx214 /]# echo ${name:?yjx} -bash: name: yjx [root@yjx214 /]# name="guest" [root@yjx214 /]# echo ${name:?yjx} guest:+ 變量不為空時使用默認值 (與 :- 相反)
[root@yjx214 /]# name="guest" [root@yjx214 /]# echo ${name:+yjx} yjx [root@yjx214 /]# echo $name guest總結
以上是生活随笔為你收集整理的【Shell】设置变量默认值,参数默认值, 自动赋值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【运维】日常笔记
- 下一篇: 【PHP】安装 ssh2 模块