shell的流程控制语句讲解

字号+ 编辑: 国内TP粉 修订: 科学鼠辈 来源: 利志分享 2023-09-11 我要说两句(0)

转载自360原技术总监曾哥的技术分享。本篇主要讲述shell的流程控制。

直接上代码:

#!/bin/bash
# shell流程控制语句
# 流程控制语句
# if 语句语法格式:
# if condition
# then
# command1
# command2
# ...
# commandN
# fi
# 写成一行:if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
if [ $(ps -ef | grep -c "ssh") -gt 1 ]
then
echo "true"
fi
# if else 语法格式:
# if condition
# then
# command1
# command2
# ...
# commandN
# else
# command
# fi
num1=$[2*3]
num2=$[1+4]
if test $[num1] -eq $[num2]
then
echo "两个数字相等"
else
echo "两个数字不相等"
fi
# for 循环一般格式
# for var in item1 item2 ... itemN
# do
# command1
# command2
# ...
# commandN
# done
# 写成一行:for var in item1 item2 ... itemN; do command1; command2… done;
for tmp in 1 2 3 4 5
do
echo "this value is $tmp"
done
for str in 'this is a string'
do
echo $str
done
# while 语句
# while condition
# do
# command
# done
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
done
# 无限循环语法格式:
# while :
# do
# command
# done
# 或者
# while true
# do
# command
# done
# 或者
# for (( ; ; ))
# until 循环 until循环执行一系列命令直至条件为真时停止。
# until condition
# do
# command
# done
# case 语句 case语句格式如下:
# case 值 in
# 模式1)
# command1
# command2
# ...
# commandN
# ;;
# 模式2)
# command1
# command2
# ...
# commandN
# ;;
# esac
anum=3
case $anum in
1)
echo "选中1"
;;
2)
echo "选中2"
;;
3)
echo "选中3"
;;
4)
echo "选中4"
;;
esac

跳出循环 break命令

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

case的语法和C family语言差别很大,它需要一个esac(就是case反过来)作为结束标记,每个case分支用右圆括号,用两个分号表示break。

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • Linux系统下word文档转成pdf的办法

  • ubuntu和debian安装nginx或者tengine报错, 找不到pcre依赖库的解决办法

  • linux终端下借助awk命令查询筛出网站access.log日志里的统计信息

  • 常见的web中间件请求返回状态码

我要说说
网上宾友点评
沙发已空