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


12

变量in中的下一行是什么意思bash

VAR=${TEMP:3}

1
@chaos请不要编辑问题以使其更符合您的答案;-)。
试点

@ Pilot6我没有改变含义。还是我听错了?我使查找(标题)更好,更易读。。BTW : 还有其他含义,例如,它是bash内置命令。我想与此有所不同,因为问题显然与那无关。用户的意思是:变量名内的运算符。对不起,我不想惹恼别人,但是您的回滚没有意义,应该撤消,但是我不想在这里进行编辑战争。此外,它是针对bash和脚本的,因此为什么要删除这些标签?
2015年

您删除TEMPVAR变量,改变了疑问,其他的答案失去意义的方式。
飞行员

@ Pilot6在我的回答中,我没有提到VAR变量。但是,但是,您可以随意更改一件事。我想让这个问题更笼统,不那么具体。从来没有意图破坏其他答案。
2015年

2
@SnakeDoc不,这很合适
muru

Answers:


15

这是变量扩展和工作原理是这样(注意,这是唯一的bashksh具体的,并会在POSIX外壳不工作):

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

  • ${var:pos}表示var从offset开始扩展变量pos
  • ${var:pos:len}表示变量varposlength的offset开始扩展len

在炒菜锅zsh
科斯

2
@kos值得一提的是,因为一切正常zsh=)我制作了节食脚本,zsh并在1周内减掉了10kg。
2015年

zsh确保在不使用它时使您在键入路径时变得笨拙:)
kos 2015年

1
@kos Hehe,有点像jquery:meta.stackexchange.com/a/19492
混乱

1
哈,我喜欢尝试真正回答问题的唯一答案是因为“ jQuery不够”而得到-2!:)
kos 2015年


2

该运算符将切除variable的前3个字符,TEMP并将其余字符分配给variable VAR

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.