bash 字符串匹配
时间: 2023-09-08 21:15:42 浏览: 86
在Bash中,可以使用字符串匹配来替换或删除特定部分的字符串。
如果省略了匹配的部分,那么就相当于将匹配的部分替换成空字符串,即删除匹配的部分。例如,`${path/.*/}`会将变量`path`中的最后一个`.`及其后面的内容替换成空字符串。如果`path=/home/cam/foo/foo.name`,则结果为`/home/cam/foo/foo`。
如果匹配不成功,则返回原始字符串。例如`${phone#444}`会将变量`phone`中第一个出现的`444`删除。如果`phone="555-456-1414"`,则结果为`555-456-1414`。
在字符串匹配时,大括号`{}`是必需的,否则Bash会将`$#`理解为脚本的参数个数,将变量名理解为文本。例如,`echo $#myvar`会将`$#`和`myvar`作为文本输出,结果为`0myvar`。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Bash 脚本教程(六)字符串操作](https://blog.csdn.net/weixin_45773632/article/details/127057140)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文