bash 里面内置了一些常用的字符串操作;
1、字符串截取
a="abc" ${a:1:1} #字符串截取,从0开始编号,第1个字符开始,截取1个
2、字符串替换
a="aabbcc" #字符串替换 echo ${a/"aa"/88} echo ${变量名/old/new} #替换1个 echo ${变量名//old/new} #替换所有
3、字符串删除
echo ${a#} #掐头 echo ${a%} #去尾 a=`head -1 /etc/passwd` #定义变量 echo ${a#root} #从左往右删除,删除第1个root echo ${a##*root} #从左往右删除,删除到最后1个root # echo ${a%bash} #从右往左删除bash前面的字符 bash # echo ${a%%:*} #从左往左删除: ,直到最后1个:为止 root
应用案例,批量改文件名,把.txt结尾的扩展名变更为.html :
touch abc{1..10}.txt for i in $(ls *.txt) do mv $i ${i%txt}html done
4、定义变量初值(备用值)
echo ${变量名:-初值}
echo ${p:-123} #定义变量的初始值,如果变量值为空时,就用初始值123,如果变量有值,就用变量自己的值 #a= #echo ${a:-123} #定义变量的初始值,如果变量值为空时,就用初始值123,如果变量有值,就用变量自己的值 123 #a=10 #echo ${a:-123} 10
标签:内置,变量,删除,echo,123,字符串,shell,root From: https://www.cnblogs.com/reachos/p/16803672.html