${变量:开始:长度} echo ${phone:0:6} 截取
${变量/old/new} 把/old 替换成new
${变量//old/new} 字符串中的所有old 替换成new
${变量#*:}去头
${变量%:*}去尾
${变量:-默认值} 初始值
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
${变量:开始:长度} echo ${phone:0:6}
[root@room9pc01 ~]# phone=13798256071
[root@room9pc01 ~]# echo ${#phone}
11
[root@room9pc01 ~]# echo ${phone:0:6}
137982
${变量/3/x}或${变量//3/x} 把/3 替换成x
[root@desktop0 ~]# phone=13798256071
[root@desktop0 ~]# echo $phone
13798256071
[root@desktop0 ~]# echo ${phone/3/x}
1x/798256071
${变量#*:}去头
[root@desktop0 ~]# echo $A
root:x:0:0:root:/root:/bin/bash
[root@desktop0 ~]# echo ${A#root:}
x:0:0:root:/root:/bin/bash
[root@desktop0 ~]# echo ${A#roo}
t:x:0:0:root:/root:/bin/bash
[root@desktop0 ~]# echo ${A##*:}
/bin/bash
${变量%:*}去尾
[root@desktop0 ~]# echo ${A%:*}
root:x:0:0:root:/root
[root@desktop0 ~]# echo ${A%%:*}
root
批量修改文件扩展模的脚本renfile.sh
脚本用途为:批量修改当前目录下的文件扩展名,将.doc改为.txt。
#! /bin/bash
for i in `ls *.$1`
do
mv $i ${i%%.*}.$2
done
脚本示范
随机生成8位数密码
[root@svr5 ~]# vim rand.sh
#!/bin/bash
x=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
//所有密码的可能性是26+26+10=62(0-61是62个数字)
for i in {1..8}
do
num=$[RANDOM%62]
tmp=${x:num:1} 变量:开始:长度
pass=${pass}$tmp ($pass+$tmp)
done
echo $pass