标签:read while循环
read使用下面-n是不换行
有时候想要结合echo和read去使用一种颜色的输入显示就可以这样做;如下
read (read是bash的内部命令,可以用help read来查看帮助)
-p:“提示信息”
-t:“设置超时时间”
-z 是判断变量是否为空,是空为真,不空为假
上面表示5秒如果不输内容,自动给a b赋值 100 和1000
实例(选择文档进行归档,并选择想要的归档格式):这样我们就可以更好的和脚本交互了
脚本如上,测试如下
脚本编程三种控制结构:
顺序结构
选择结构
if
if ;then
elif
else
fi
case
case $# in
)
statement
;;
esac
循环结构
for
for I in {};do
statement
done
while
while condition;do
statement
done
until
接下来讲一下while循环
while ture; do
done
for循环一般是循环已知的循环,但是while就是适用于循环次数未知的场景
我们的for循环的CONDITION是有个自我修正的,不断的变化的,所以总会有退出循环的时候,而我们的while循环不一样,它是不会自我修正的,如果在statement中没有去处理,那他就一直循环下去
while:循环:适用于循环次数未知的场景
语法:
while CONDITION;do
statement
...
done
计算100以内所以整数的和
[root@www tmp]# cat ./1.txt
#!/bin/bash
declare i I=1
declare i SUM=0
while [ $I -le 100 ] ;do
let SUM+=$I
let I++ 这种情况下就需要在while循环内让条件不循环,这个就是遍历循环,必须要有这一种条件,不然会一直死循环
done
echo $SUM
当输入quit就退出,否则就将输入变成大写的再输出来
#!/bin/bash
read -p "input zimu:" NUM
while [ ! $NUM == ‘quit‘ ];do
echo $NUM | tr ‘a-z‘ ‘A-Z‘
read -p "input zimu:" NUM
done
检测hadoop有没有登录,如果没有登录,一直跳出信息来说Hadoop没登录,直到Hadoop登录为止
所以要明白循环的进入条件和退出条件的意义了
[root@www tmp]# vim checkuser1.sh
#!bin/bash
who | grep "user1" &>/dev/null
jieguo=$?
while [ $jieguo -ne 0 ];do
echo "user1 is not logging"
sleep 1
who | grep "user1" &>/dev/null
jieguo=$?
done
echo "user1 is logged in."
标签:read while循环
原文地址:http://blog.51cto.com/425319153/2092861