加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux编程中的while循环问题

发布时间:2016-11-03 08:33:39 所属栏目:Linux 来源:网络整理
导读:我们先要理解while循环的意义,使用while循环的目的就是多次循环! while循环是根据while关键字后面指定的条件决定是否退出的循环的。 如果你希望执行一次命令

我们先要理解while循环的意义,使用while循环的目的就是多次循环!

while循环是根据while关键字后面指定的条件决定是否退出的循环的。

如果你希望执行一次命令就退出,那么无需用while循环,使用while就表示你需要多次循环,好了,我猜测下,你的问题是希望true的条件下,如何退出循环吧?

如果是的话,那么大概有如下几个方法。

1、while后的条件不是为true永远为真,而是指定一个条件,那么条件不满足就退出了。

例子如下:

i=0
while ((i<10))
do
echo $i
((i++))
sleep 1
done

提示:

1)上述脚本执行10次循环,,即10秒后i就不会小于10了,因此循环自动退出。

2)上述脚本你可以直接命令行拷贝执行看效果。

2、还可以利用第一部分SHELL视频里的特殊变量$$来记录脚本进程的ID到固定文件里,希望退出时就读取文件里的脚本进程ID kill杀掉这个ID即可。例子如下:

[root@C58 ~]# cat w.sh
#!/bin/sh
i=0
echo "$$" >/var/run/shell.pid
while true
do
echo $i
((i++))
sleep 1
[ $i -eq 3 ] && kill `cat /var/run/shell.pid`
done
[root@C58 ~]# sh w.sh
0
1
2
Terminated

提示:这里设置变量等于3就杀掉脚本进程。

3、其他方法

可以手动查找PID kill PIDNO.

或者查找进程名  pkill PROCESSNAME

当然还有killall等命令可以使用。

另,有问题可以到答疑区发问。

本文出自 “老男孩linux运维” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1294926

查看本栏目更多精彩内容:http://www.bianceng.cn/OS/Linux/

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读