shell-script-03 脚本实例
1、演示函数参数的返回值
1)简单的加法
1 | [root@localhost ~]# vim test_add.sh |
解析
- sum=$[$1+$2]不能用sum=$1+$2来计算,因为这样得到的sum值为“3+4”这样一个字符串;
- sum=$[$1+$2]也不能写成sum=$[1+2],因为这样得到的sum值恒为3;
2)利用for循环计算0加到100
1 | [root@localhost ~]# ./sum.sh |
解析
- numbers=$numbers+$i得到的是字符串
- sum=$[sum+i]得到的是计算结果
2、测试ping某个网址的丢包率
1 | [root@localhost ~]# vim loss.sh |
3、计算三个数中最大值、最小值以及平均值
1 | [root@localhost ~]# vim cal.sh |
注意:安装后才能使用bc(linux字符界面下的计算器)
1 | [root@localhost ~]# yum install bc -y |
4、 去除字符串中的所有空格
1 | [root@localhost ~]# echo "a b c hello world" | sed 's/ //g' |
5、写一个输出数字 0 到 100 中 3 的倍数(0 3 6 9 …)的脚本
1 | [root@localhost ~]# vim for.sh |
6、判断文件是否为目录
1 | [root@localhost ~]# vim test_alg.sh |
解析
- -d,判断是否为目录
- -f,判断是否存在
- -e,判断是否为文件
7、使用shift写一个遍历参数的脚本
shift的作用是以空格作为分隔符,截去第一个参数 ,然后将剩余参数左移。
1)如下例中,a先被截去,剩余参数就变为b c d ……;然后b被截去,以此类推,参数个数逐减。
1 | [root@localhost ~]# cat test_shift.sh |
2)shift也可以设置截去参数的个数,如下例
注意:由于一次性跨越俩参数,因此while循环条件有所变化
1 | [root@localhost ~]# cat test_shift.sh |