shell循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell循环相关的知识,希望对你有一定的参考价值。

while循环
格式 while 条件测试语句
do
指令
done
条件测试语句成立的时候,执行语句
until循环
until 条件测试语句
do
指令
done
测试语句不成立时进入循环语句

shell中的休息命令:sleep 1 休息一秒
                    usleep 1000000 休息一秒
    注意: 在进行死循环的时候最好要加上sleep命令进行控制循环的频率,否者会消耗大量
            系统资源

shell脚本后台运行知识
使用&后台运行脚本 sh  111.sh &
crl+c 停止执行当前脚本或任务
ctl+z 暂停执行当前的脚本或任务

防止执行脚本中断的方法:
        sh 111.sh &
        nohup 111.sh & 
        screen保持回话,在执行脚本 ,一般要先安装在使用这个命令
        screen  -x 加入已存在的screen回话
                -ls 显示所有的screen作业
                -S  指定screen作业名称创建

定义菜单类型的范范:
cat <<END
===================

===================
END

while按行读取文件的方法:
exec读取文件
eg:exec <file
sum=0
while read line
do
cmd
done
cat读取文件:
cat file |while read line
do
cmd
done
while结尾done处通过输入重定向读取文件
while read line
do
cmd
done<file

总结:while主要是执行守护进程,适用于频率小于1分钟循环处理,加sleep 和usleep控制频率
case语句,主要用于系统启动脚本时传入少量固定规则字符串的情况下
打印菜单,多适用于cat here 文档替换

for循环——主要用于执行有限次的循环

for 变量名 in 变量取值列表(可以空格隔开)
do
指令
done

打印乘法口诀的结果
#!/bin/bash
for n1 in seq 1 +1 9
do
for n2 in seq 1 +1 9
do
if [ $n1 -ge $n2 ]
then
echo -n "$((n1*n2)) "
fi
done
echo ""
done
注意 echo -n " "

以上是关于shell循环的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

AVKit – 视频片段仅循环 2 次

将vscode打造成无敌的IDE打造shell IDE--三大神器

如何使用事件侦听器来加载动画片段的循环

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围