shell函数:
将需要重复使用的操作,定义为公共的语句块,叫函数
语法结构:
格式1:
function 函数名{
命令顺序
...
}
格式2:
函数(){
命令顺序
...
}
调用函数:
函数名 参数1 参数2 ...
//在函数中使用位置变量来调用参数
位置变量:
# sh test.sh 参数1 参数2
# vim tset.sh
#!/bin/bash
echo
$#: 显示一共有多少个参数
$@: 显示所有的参数
$?: 显示返回的状态码
$$: 显示当前脚本的进程号
查看进程:ps -aux
杀死进程:kill -9 PID
实例:同时创建abc目录且在此目录下创建a.txt文件
# mymk(){
mkdir $1
cd $1
touch $2
}
# mymk abc a.txt
中断与退出:
break:结束整个循环
continue:结束本次循环
exit:结束整个脚本
实例:输出30以内3的倍数
知识点:数组、continue
#!/bin/bash
for i in `seq 30`
do
[ $[i%3] -ne 0 ] && continue || echo $i
done
字符串截取:
18301593586
183XXXX3586
字符串截取的三种用法:
1.${变量名:起始位置:长度}
2.expr substr “$变量名”起始位置 长度
3.echo“$变量名”| cut -b 起始位置-结束位置
字符串替换两种方法:
1.值替换第一个匹配结果:
${变量名/old/new}
2.替换全部匹配结果:
${blm//old/new}
字符串掐头去尾:
1.从左往右,最短匹配删除:${变量名#*关键词}
2.从左往右,最长匹配删除:${变量名##*关键词}
3.从右往左,最短匹配删除:${变量名%关键词*}
4.从右往左,最长匹配删除:${变量名%%关键词*}
1.${变量名:起始位置:长度}
注意:起始位置从0开始
# phone