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

Shell 流程控制

发布时间:2023-05-10 14:04:29 所属栏目:Linux 来源:
导读:和 Java、PHP 等语言不一样,sh 的流程控制不可为空,如(以下为 PHP 流程控制写法):

实例
<?php
if (isset($_GET["q"])) {
search(q);
}
else {
// 不做任何事情
}
在 sh/bash 里可不能这么写,
和 Java、PHP 等语言不一样,sh 的流程控制不可为空,如(以下为 PHP 流程控制写法):

实例
<?php
if (isset($_GET["q"])) {
    search(q);
}
else {
    // 不做任何事情
}
在 sh/bash 里可不能这么写,如果 else 分支没有语句执行,就不要写这个 else。

if else
fi
if 语句语法格式:

if condition
then
    command1 
    command2
    ...
    commandN 
fi
写成一行(适用于终端命令提示符):

if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
末尾的 fi 就是 if 倒过来拼写,后面还会遇到类似的。

if else
if else 语法格式:

if condition
then
    command1 
    command2
    ...
    commandN
else
    command
fi
if else-if else
if else-if else 语法格式:

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi
if else 的 [...] 判断语句中大于使用 -gt,小于使用 -lt。

if [ "$a" -gt "$b" ]; then
    ...
fi
如果使用 ((...)) 作为判断语句,大于和小于可以直接使用 > 和 <。

if (( a > b )); then
    ...
fi
以下实例判断两个变量是否相等:

实例
a=10
b=20
if [ $a == $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi
输出结果:

a 小于 b
使用 ((...)) 作为判断语句:

实例
a=10
b=20
if (( $a == $b ))
then
   echo "a 等于 b"
elif (( $a > $b ))
then
   echo "a 大于 b"
elif (( $a < $b ))
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi
输出结果:

a 小于 b
if else 语句经常与 test 命令结合使用,如下所示:

实例
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
    echo '两个数字相等!'
else
    echo '两个数字不相等!'
fi
输出结果:

两个数字相等!

(编辑:汽车网)

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

    推荐文章