${ parameter }被调换为响应的值。1、实例一
起首解释锫 ${1..9} 是什么意思。在我们写 Shell 时必弗成免的须要传递参数以实现自定义变量。当跨越阿拉伯数字 9 今后。就须要应用 ${ parameter } 明白告诉Shell 第 11 个参数是 ${11}。
提示:上图显示 101 就是因为 $11 不知足 [1-9]{1} 。体系将 11 拆分成 $1 和 1 ,所以运算后结不雅是 101。
2、实例二
ban=banecho a $bananaecho a ${ban}ana

这个实例中,我想输出 banana 。已经定义了一个 ban 的变量为 ban ,只要加上 ana 就可以成为 “笨啦啦”。
大年夜官方定义上来说,我并不该该将 “变量扩大” 无中生有出来。
"
$字符惹人参数扩大,敕令调换或算术扩大。" —— 官方手册
主如果出于俩个方面推敲:
- 多半接收。国内出现了大年夜量 ”变量扩大“ 的文┞仿,多半人已经接收这个名称。
- 便于懂得。参数就是
${...}括号内的器械,而变量一词可表示所有操作环绕变量展开。 - 便于记录。切分今后,对写这篇文┞仿的排版有赞助。亦可以大年夜基本、中级、高等有必定程度划分。
实例:
var='This is>var1=parametervar2=word
如今我们有了如许的一个句子,我欲望做一些断定、摘取(或者说:切片)或修改。我该若何操作?
1、变量调换
a. ${parameter:-word}
如不雅 var1 未设置或为空,则调换成 var2。
b. ${parameter:=word}
同上。地位参数和特别参数不克不及以这种方法分派。
c. ${parameter:?word}
# var1=# echo ${var1:?var2}bash: var1: var2# echo $?1
a. () 括号内的语句影响在括号内
当变量 var1 未设置或为空,shell 也是可交互时,进行报错并且退出。如不雅 shell 弗成交互,则产生变量调换。
d. ${parameter:+word}
# echo $var1parameter# echo $var2word# echo ${var1:+$var2}word# echo $var1parameter
推荐阅读
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? >>>详细阅读
本文标题:Shell中的命令替换及参数扩展
地址:http://www.17bianji.com/lsqh/40126.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示