如何使用负偏移量在bash中使用字符串的后缀?
发布时间:2020-12-15 18:45:38 所属栏目:安全 来源:网络整理
导读:我试图使用${string:pos} substring语法在 Bash中使用字符串的后缀,但是我无法弄清楚为什么它不起作用.我已经设法简化了我的示例代码: STRING="hello world"POS=4echo ${STRING:POS} # prints "o world"echo ${STRING:4} # prints "o world"POS=-4echo ${S
我试图使用${string:pos} substring语法在
Bash中使用字符串的后缀,但是我无法弄清楚为什么它不起作用.我已经设法简化了我的示例代码:
STRING="hello world" POS=4 echo ${STRING:POS} # prints "o world" echo ${STRING:4} # prints "o world" POS=-4 echo ${STRING:POS} # prints "orld" echo ${STRING:-4} # prints "hello world" 前三行完全按照我的预期,但为什么最后一行打印“你好世界”而不是“orld”?
因为: – 是参数扩展语法为“使用默认值”.
从documentation:
所以通过${STRING:-4}你实际上是要求bash来扩展 正如另一个答案所说,你需要把表情看成没有
例如: ${STRING:(-4)} ${STRING: -4} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- RMI、Hessian、Burlap、Httpinvoker、WebService
- angular – 在服务中注入http会给出“没有Http提
- node.js – 无法连接到docker mongodb
- bootstrap-datetimepicker在ie8下报对象不支持&#
- 如何使vim ctags为现代javascript工作
- Bootstrap3基础 glyphicon 设置图标的颜色与大小
- 在Angular中具有多个参数的RouterLink
- vim – 在函数之间跳转(pascal)
- Angular2 CUSTOM_ELEMENTS_SCHEMA不起作用
- angularjs asp.net json datetime parser
热点阅读