首页 > 系统相关 >shell循环,判断介绍,以及实例

shell循环,判断介绍,以及实例

时间:2023-03-27 18:38:02浏览次数:49  
标签:bin shell 实例 stop echo lt num 循环


shell的循环主要有3种,for,while,until

shell的分支判断主要有2种,if,case

 

 

一,for循环



#!/bin/bash

for file in $(ls /tmp/test/mytest |grep sh)   //for in格式是shell for的基本格式,根js的for in类似
do               //循环开始你就把它当成{
 echo $file
done             //循环结束你就把它当成}

for ((i=0;i<10;i++))        //注意是双小括号,由于受其他语言的影响,很容易搞错
do
 echo -n $i
done

echo \     //输出换行

for i in 0 1 2 3 4 5 6 7 8 9
do
 echo -n $i
done

echo \

for i in "0 1 2 3 4 5 6 7 8 9"    //这个根上面是有区别的,这个循环只循环了一次,双引号里面只是一个变量
do
 echo -n $i
done

exit 0


 

二,while循环



#!/bin/bash
i=0
while ((i<10))
do
 echo $i
 ((i += 1))
done

i=0
while [ $i -lt 10 ]  //注意括号内侧二边的空格
do
 echo $i
 let "i+=1"   //加1
done
exit 0


 

三,until循环



#!/bin/bash

END_CONDITION=end
until [ "$var1" = "$END_CONDITION" ]  //读取的变量根设定的变量相等时退出循环,不然永远循环
do
 echo "Input variable #1 "
 echo "($END_CONDITION to exit)"
 read var1
 echo "variable #1 = $var1"
 echo
done  
exit 0



 

四,if语句



#!/bin/bash

echo "Input a number #1 "
read num
echo "variable #1 = $num"

if [ $num -lt 60 ]    //注意lt前面的-,很容易忘的
then
 echo "you are not pass"
elif [ $num -lt 70 ] && [ $num -ge 60 ]  //多个条件的判断
then
 echo "pass"
elif [[ $num -lt 85 && $num -ge 70 ]] //如果放在一起,要注意是双方括号,不要写成[ $num -lt 85 && $num -ge 70 ]
then
 echo "good"
elif (( $num <= 100 )) && (( $num >= 85 ))  //对于有语言基础的人来说,这种写法让人觉得很舒服,不要忘了是双小括号
then
 echo "very good"
else
 echo "num is wrong"
fi                                 //if要有结束标签的,根XML很像,不闭合,就报错

exit 0



 

五,case语句


#!/bin/sh
case $1 in
 start)
 echo "start ok"
 ;;       //注意一点,要注意是双分号
 stop)
 echo "stop  ok"
 ;;
 restart)
 echo "restart ok"
 ;;
 *)
 echo "no param"
 ;;
esac      //注意闭合标签
exit 0

[root@krlcgcms01 forif]# sh c1.sh stop
stop  ok


 

作者:海底苍鹰

 

 

标签:bin,shell,实例,stop,echo,lt,num,循环
From: https://blog.51cto.com/u_8895844/6152828

相关文章

  • 流量分析:陇剑杯webshell
    参考:https://blog.csdn.net/lkbzhj/article/details/126343675 题目描述:单位网站被黑客挂马,请您从流量中分析出webshell,进行回答: 1、黑客登录系统使用的密码是过......
  • web自动化中浏览器实例化优化及关联
    在一个测试案例py文件中,可能会有多个测试案例,比如登录,会有登录成功和登录失败的情况,执行测试用例后,就会打开两个网页。为了解决这个问题,需要进行优化来解决浏览器重复打开......
  • 发邮件 In App Email (实例)
    InAppEmailInthistutorialiwillbeshowingyouhowtodirectlyemailfromyourappFeatures: 1RoundRectButton Inappemailingisagreatfeaturefor......
  • Tomcat多实例与负载均衡
    一、Tomcat多实例第一步:放入安装关闭防火墙和selinux第二步:安装JDK并设置环境变量1)安装JKD2)编写java脚本设置JDK环境变量3)运行脚本文件,然后查看jdk版本......
  • LLC谐振参数计算实例,mathcad格式,列出完整计算公式,软件自动计算并绘出增益曲线
    LLC谐振参数计算实例,mathcad格式,列出完整计算公式,软件自动计算并绘出增益曲线,方便修改设计参数,本实例是实际产品的计算,已验证其正确性。送LLC原理详解和设计步骤文档PDFY......
  • 条件判断和循环
    条件判断根据python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则什么也不做也可以if添加else语句,意思是,如果if判断是False,不执行if的内容,去执行eli......
  • 数论--原根(循环群生成元)
    对于素数p,如果存在一个正整数1<a<p,使得a1,a2,…,ap−1模p的值取遍1,2,…,p−1的所有整数,称a是p的一个原根(primitiveroot),其实就是循环群的生成元。如果aj≡......
  • 在Xshell上安装Nginx并配置
    打开Xshell,连接到目标服务器。使用以下命令安装Nginx:sudoapt-getupdate&&sudoapt-getinstallnginx安装完成后,使用以下命令启动Nginx服务:sudosystemctlsta......
  • Python实例讲解 -- 操作数据库 附mysqldb win32 py2.7下载
    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操作数据库需要安装一个第三方的模块,在http://mysq......
  • Python实例讲解 -- 解析xml
    doc.xml <?xmlversion="1.0"encoding="utf-8"?><info><intro>信息</intro><listid='001'><head>auto_userone</head><name>Jordy</name>......