有时候我们需要对变量进行一些操作,比如截取,替换,删除等操作,很多同学会使用awk, sed 或cut等命令来干这事,其实,bash的内置的变量操作就可以干这个事。下面说明一些常用的方法:这些操作需要使用 ${var} 这种变量的写法(用花括号)。${#var} 输出 var的字符串长度${var:pos:len} 你可以理解为变量的切片操作。如:
> var=0123456789
> echo ${var:2}
23456789
> echo ${var:2:2}
23
> echo ${var:2:3}
234
> echo ${var::1}
0
> echo ${var::-2}
01234567${var#word} 或 ${var##word} 删除匹配word的前缀,#为最短匹配,##为最长匹配${var%word} 或 ${var%%word} 删除匹配word的后缀,%为最短匹配,%%为最长匹配> var=ababcdcd
> echo ${var#a*b}
abcdcd
> echo ${var##a*b}
cdcd
> echo ${var%c*d}
ababcd
> echo ${var%c*d}
ababcd
> echo ${var%%c*d}
abab
${var/pattern/replacement} 替换第一个匹配
${var//pattern/replacement} 替换所有的匹配
var=ababcdcd
> echo ${var/ab/01}
01abcdcd
> echo ${var//ab/01}
0101cdcdLinux下获取电脑硬件配置信息的bash脚本代码 http://www.linuxidc.com/Linux/2014-11/109285.htmbash的登录与欢迎信息:/etc/issue,/etc/motd http://www.linuxidc.com/Linux/2014-08/105419.htmBash常用的几个配置文件 http://www.linuxidc.com/Linux/2014-08/105202.htmBash脚本15分钟进阶教程 http://www.linuxidc.com/Linux/2014-04/100750.htm10个 Linux/Unix下 Bash 和 KSH shell 的作业控制实例 http://www.linuxidc.com/Linux/2014-03/98159.htmUbuntu下shell脚本运行异常:Bash和dash的区别 http://www.linuxidc.com/Linux/2013-10/91100.htmBash脚本之for语句if语句以及各种测试语句 http://www.linuxidc.com/Linux/2013-07/87922.htm什么是Bash Shell的内建(build in)命令 http://www.linuxidc.com/Linux/2013-06/86039.htm分享有用的 bash 别名和函数 http://www.linuxidc.com/Linux/2015-01/111178.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/111951.htm