shell的while循环&函数
程序员文章站
2024-03-23 22:01:52
...
while循环
【while】
#!/bin/bash
while :
do
load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1`
if [ $load -gt 10 ];then
top|mail -s "load is high: $load" [email protected]
fi
sleep 30
done
1、while : 【while后带冒号表示始终为真】
2、w|head -1 【取系统性能值得第一行】
3、awk -F 'load average: ' '{print $2}'|cut -d. -f1
【以load average: 作为分隔符,输出第二段值】
【cut -d. -f1 表示以点. 作为分隔符,取-f1第一段值】
cut用法:cut -d "分隔符" -f2 文件
-c 以字符为单位进行分割
-d 分隔符,后面用引号引住分隔符
-f 与-d 连用,指定显示那个区域
#!/bin/bash
#循环判断输入的是否为纯数字,直到输入的为纯数字,继续判断奇偶,若输入为空提示继续输入
while true
do
read -p "请输入一个数字:" num
if [ ! -n "$num" ];then
echo "输入值为空"
continue
fi
a=`echo $num|grep -Ec [^0-9]`
if [ "$a" -eq 1 ];then
echo "输入的为非纯数字,请输入纯数字"
continue
#read -p "请输入一个数字:" num
fi
if [ "$a" -eq 0 ];then
b=$(($num%2))
if [ "$b" -eq 0 ];then
echo "$num 是偶数"
else
echo "$num 是奇数"
fi
exit
fi
done
【continue】关键字:表示循环体下面的语句不再执行,但是循环还是要的,从头再开始执行一遍循环
【break】关键字:退出本次的循环体,循环体外的仍会执行到
【exit】关键字:不仅退出循环体,而且还退出本次执行的脚本
【函数】
定义函数sum
格式1:
sum(){
command
}
sum parm1 parm2...【后面可接参数1,参数2,...】
格式2:
function sum(){
command
}
举例1:
#!/bin/bash
sum(){
s=$[$1+$2]
echo $s
}
sum $1 $2
举例2:
获取网卡的IP地址
#!/bin/bash
ip(){
ifconfig | grep -A1 "$1"|tail -1|awk '{print $2}'
}
read -p "请输入你的网卡名" name
myip=`ip $name`
echo "$name address is $myip"
上一篇: Java的常用输入输出语句