shell 几中专用修饰符 :- :+ := ${variable:offset:length}

本文深入探讨了Shell脚本中变量扩展的各种用法,包括默认值设定、条件输出、子字符串提取等高级技巧,旨在帮助读者掌握更高效地管理和操作Shell变量的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

${variable:-word} 如果variable已经被设置了,且不为空,则代入它的置,否则代入word;

$ fruit=peach

$ echo ${fruit:-plum}

peach

$ echo ${newfruit:-apple}

apple

 

${variable:=word}如果variable已经被设置且不为空,则代入它的值,否则代入word,并且在后面variable始终为word的值。位置参量不能用这种方式赋值。

$ name=

$ echo ${name:=peter}

peter

 

$ echo $name

  peter

 

 

${variable:+word} 如果变量variable已被设置且值为非空,代入word值,否则什么也不代入,

$ foo=grapes

$ echo ${foo:+pears}

pears

$ echo $foo

   grapes

 

 

${variable:?word} 如果变量variable已被设置值且为非空,就代入它的值,否则输出word并从shell中退出,如果有省略了word,就会显示信息:parameter null or not set.

$ echo ${namex:?"namex is undefined"}

  namex: namex is undefined

 

$ echo ${y?]

 y: parameter null or not set

 

 

${variable:offset} 获得变量从variable值中位置从offset开始的子串,偏移为从0到串尾。

${variable:offset:length} 获得variable值位置从offset开始长度为length的子串。

 

$var=notebook

$ echo ${var:0:4}

 note

$ echo ${var:4:4]

book

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值