日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell脚本工具之控制结构

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell脚本工具之控制结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?? 流程控制結構是程序語言中用于控制一段腳本執行流程的結構,shell提供了對多種流程控制結構的支持,包括條件結構,分支結構和循環結構.

???

一.if語句

格式1:

if 表達式;then

?? 語句1

else

?? 語句2

fi


格式2:

if 表達式1;then

?? 語句1

else

?? if 表達式2;then

?????? else

?????????? if 表達式3

?????????????? 語句2

?????????? else

?????????????? 語句3

?????????? fi

?????????? 語句4

????? fi

fi


格式3:

if 表達式1

?? 語句1

elif 表達式2

?? 語句2

else

?? 語句3

fi


[root@tong1 ~]# cat 1.sh
#!/bin/bash
echo "---------------------"
read -p '請輸入兩個整數值:' a b
if [ $a -gt $b ] ;then
??? echo "第一個數大于第二個數"
elif [ $a -lt $b ];then
??? echo "第一個數小于第二個數"
elif [ $a = $b ];then
?? echo "兩個數相等"
else
? echo "輸入的數有問題"
fi
echo "----------------------"

[root@tong1 ~]# ./1.sh
---------------------
請輸入兩個整數值:3 5
第一個數小于第二個數
----------------------
[root@tong1 ~]# ./1.sh
---------------------
請輸入兩個整數值:5 3
第一個數大于第二個數
----------------------
[root@tong1 ~]# ./1.sh
---------------------
請輸入兩個整數值:3 3
兩個數相等
----------------------
[root@tong1 ~]# ./1.sh
---------------------
請輸入兩個整數值:r 5
./1.sh: line 4: [: r: integer expression expected
./1.sh: line 6: [: r: integer expression expected
輸入的數有問題
----------------------
[root@tong1 ~]#

二.case語句

格式1:

case 變量 in

模式1)

??? 語句1

??? ;;

模式2)

??? 語句2

??? ;;

esac


格式2:

case $1 in

值1|值2)

???? 語句1

???? ;;

值3)

??? case $2 in

??????? 值4)

??????????? 語句2

??????????? ;;

??????? 值5)

??????????? 語句3

??????????? ;;

??? esac

值6)

??? 語句4

??? ;;

esac


[root@tong1 ~]# cat 1.sh
#!/bin/bash
echo "---------------------"
read -p '請輸入兩個整數值:' a b
abc=`expr $a / 10`
case $abc in
9)
?? echo "成績優秀"
?? ;;
8)
?? echo "表現良好"
?? ;;
7)
?? case $2 in
??????? '男')
??????????? echo "男生成績不好"
??????????? ;;
??????? '女')
?????????? echo "成績良好"
?????????? ;;
?? esac
?? ;;
*)
?? echo "成績不及格"
?? ;;
esac
echo "----------------------"
[root@tong1 ~]#


三.while循環

格式1:

while 表達式

do

??? 語句

done


格式2:

while 表達式1

do

???? while 表達式2

???? do

????????? 語句1

???? done

done


[root@tong1 ~]# cat 1.sh
#!/bin/bash
echo "---------------------"
read -p '請輸入一個整數值:' a
i=1
while [ $a -ge $i ]
do
??? echo "$a的平方值:`expr $a \* $a`"
??? a=$(($a - 1))
done
echo "----------------------"
[root@tong1 ~]# ./1.sh
---------------------
請輸入一個整數值:5
5的平方值:25
4的平方值:16
3的平方值:9
2的平方值:4
1的平方值:1
----------------------
[root@tong1 ~]#?


四.for循環

格式:

for 變量 [ in 列表]

do

?? 語句

done


[root@tong1 ~]# cat 1.sh
#!/bin/bash
echo "---------------------"
for b in 1 2 3 4 5
do
?? echo "$b-------------`expr $b \* $b`"
done
echo "----------------------"
[root@tong1 ~]# ./1.sh
---------------------
1-------------1
2-------------4
3-------------9
4-------------16
5-------------25
----------------------
[root@tong1 ~]#


五.until循環(不滿足條件就循環)

格式:

until [ 表達式 ]???? --不滿足條件就循環

do

?? 語句1

done


[root@tong1 ~]# ./1.sh
---------------------
請輸入一個數:6
------------*
1------------1
2------------4
3------------9
4------------16
5------------25
6------------36
----------------------

[root@tong1 ~]# cat 1.sh
#!/bin/bash
echo "---------------------"
read -p "請輸入一個數:" abc
until [ $i -gt $abc ]
do
?? a=`expr $i \* $i`
?? echo "$i------------$a"
?? i=$(($i+1))
done
echo "----------------------"
[root@tong1 ~]#?


六.select結構

格式:

select 變量 in 列表

do

??? 語句1

done


[root@tong1 ~]# cat 1.sh
#!/bin/bash
echo "---------------------"
select a in 1 2 3 4 5
do
?? case $a in
????? 1)
?????????? echo "這是1"
?????????? ;;
????? 2)? ?
?????????? echo "這是2"
?????????? ;;
????? 3)
?????????? echo "這是3"
?????????? ;;
????? 4)
?????????? echo "這是4"
?????????? ;;
????? *)
?????????? echo "退出"
?????????? break
?????????? ;;
??? esac
done
echo "----------------------"
[root@tong1 ~]# ./1.sh
---------------------
1) 1
2) 2
3) 3
4) 4
5) 5
#? 1
這是1
#? 2
這是2
#? 3
這是3
#? 4
這是4
#? 5
退出
----------------------
[root@tong1 ~]#


七.break和continue

break:跳出循環體,break 2跳出外循環體

continue:退出本次循環,continue 2跳出外循環體

轉載于:https://blog.51cto.com/tongcheng/1624202

總結

以上是生活随笔為你收集整理的shell脚本工具之控制结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。