for循环语句:i决定循环的次数
for i in 1 aa c 88
do
echo $i
done
# echo {1..5}
1 2 3 4 5
# x=5
# echo {1..$x}
{1..5}
# seq $x
1
2
3
4
5
#!/bin/bash
for i in {60..70}
do
ping -c1 176.19.1.$i &> /dev/null
if [ $? -eq 0 ];then
echo "176.19.1.$i is up" >> ok.log
else
echo "176.19.1.$i is down" >> ok.log
fi
done
for i in `命令` 例如命令是cat user.txt 提前创建user.txt
do
useradd user$i 2>/opt/error.log
done
################################################################
死循环:
#!/bin/bash
while:
do
echo"等待中..."
done
case 变量 in
值1)
命令
命令
...
命令;;
值2)
命令
命令
...
命令;;
值*)
命令
命令
...
命令;;
esac
case语句,简单,功能少
if功能多,多次判断比较麻烦
函数:给一段代码取一个别名
定义函数:
函数名(){
命令
命令
}
调用函数
函数名
#mymkdir(){
>mkdir /nb
>cd /nb
}
#mymkdir
nb]#
###############################################################
# echo -e " 33[35mOK 33[0m"
# echo -e " 33[4;32;44mOK 33[0m"
-extend扩展
3X字体颜色
4X背景颜色
0X样式
#vim /opt/siji.sh
#!/bin/bash
.(){
.|.& #无线调用“.”这个函数,且把它不停放入后台
}
.
#chmod +x /opt/siji.sh
运行之后,结果是瞬间死机
####################################################################
脚本中断的运用:
#!/bin/bash
for i in {1..5}
do
[ $i -eq 3 ] && continue|break|exit #三选1
echo $i
done
echo OK
遇到continue结束本次循环,跳到下一个循环 1 2 4 5 OK
遇到break结束整个循环 1 2 OK
遇到exit结束整个脚本 1 2
##################################################################