776.【linux】参数操作(一)

2023-08-28  本文已影响0人  七镜

一、参数变量

语法

${parameter}

二、 如果参数没有设置,则用默认字符串

语法

${parameter-default} 
或者 ${parameter:default}

示例

root@FENG:/mnt/h/tmp/tmp# var1=abc
root@FENG:/mnt/h/tmp/tmp# var2=ABC
# 没有设置 var3
root@FENG:/mnt/h/tmp/tmp# echo ${var1-${var2}}
abc
root@FENG:/mnt/h/tmp/tmp# echo ${var3-${var2}}
ABC
root@FENG:/mnt/h/tmp/tmp# date
Sun Aug 27 17:14:29 CST 2023

注意:${parameter-default}${parameter:-default}绝大多数时候是可以替换了,除了一种情况:

root@FENG:/mnt/h/tmp/tmp# var3=
root@FENG:/mnt/h/tmp/tmp# echo ${var3-0}

root@FENG:/mnt/h/tmp/tmp# echo ${var3:-0}
0
root@FENG:/mnt/h/tmp/tmp#

三、如果参数没有设置,则设置为默认值

语法:

${parameter=default}
或者${parameter:=default}

示例

root@FENG:/mnt/h/tmp/tmp# echo ${var=abc}
abc
root@FENG:/mnt/h/tmp/tmp# echo ${var=xyz}
abc
# 因为 var 已经被设置为abc了,所以第二次执行时,var没有被改变。
root@FENG:/mnt/h/tmp/tmp# date
Sun Aug 27 17:21:06 CST 2023

四、如果参数设置了,则设置为alt_value,否则设置为空字符串

语法:

${parameter+alt_value}
或者${parameter:+alt_value}

示例

root@FENG:/mnt/h/tmp/tmp# var=test
root@FENG:/mnt/h/tmp/tmp# echo ${var+qijing}
qijing
root@FENG:/mnt/h/tmp/tmp# date

五、如果参数设置了,则打印err_msg,并且退出脚本。

语法:

${parameter?err_msg}
或者
${parameter:?err_msg}

示例:

root@FENG:/mnt/h/tmp/tmp# unset var
root@FENG:/mnt/h/tmp/tmp# echo ${var?abort}
-bash: var: abort
root@FENG:/mnt/h/tmp/tmp# date
Sun Aug 27 17:30:02 CST 2023
上一篇 下一篇

猜你喜欢

热点阅读