本身想用简单的拿来主义,使用某搜索引擎推荐的博文,来去除Linux Shell中字符串变量头尾的空格。
但是,发现推荐的方法,竟然很多文章是用echo "some string" | sed xxx去除头尾空格的方法,有点旁门左道了点。。。
恰好最近根据https://github.com/wangdoc/bash-tutorial较为系统地学习了下bash shell的知识。
在Linux Shell中字符串变量的操作,基本上算作一大类,有查找、截取、替换等,何必不用原生的字符串类的操作方法来实现目的呢?研究了还是有此种方法的,特共享之!
# 字符串头部去除空格
+ ${abcstr##*( )}
+ ${abcstr##*([[:blank:]])}
注:第一种含有空格,第二种表意更强
# 字符串尾部去除空格
+ ${abcstr%%*( )}
+ ${abcstr%%*([[:blank:]])}
# 字符串提取文件名
+ ${abcstr##*/}
# 字符串提取目录名
+ ${abcstr%/*}
注:此存在为自身的异常,注意防护
Refer:
https://github.com/wangdoc/bash-tutorial/blob/master/docs/string.md
https://github.com/wangdoc/bash-tutorial/blob/master/docs/expansion.md