bash 变量扩展中的“:”(冒号)运算符是什么意思:VAR=${TEMP:3}?

bash 变量扩展中的“:”(冒号)运算符是什么意思:VAR=${TEMP:3}?

变量中下面这一行是什么意思bash

VAR=${TEMP:3}

答案1

这是变量扩展并且像这样工作(注意这只是bash特定ksh的并且不会在 POSIX shell 中工作):

$ x=1234567890
$ echo ${x:3}
4567890
$ echo ${x:7}
890
$ echo ${x:3:5}
45678

  • ${var:pos}表示变量var从偏移量开始扩展pos
  • ${var:pos:len}表示变量var被扩展,从偏移量开始,pos长度为len

答案2

在 bash 中,它会切掉(字符串)变量的前 3 个字符:

$ VAR="hello world"
$ echo ${VAR:3}
lo world

看看这里的“子串提取”:http://www.tldp.org/LDP/abs/html/string-manipulation.html

答案3

该运算符截掉变量的前 3 个字符TEMP,并将其余部分分配给变量VAR

相关内容