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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell编程之条件语句(if语句,case分支语句)

發(fā)布時(shí)間:2024/2/28 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell编程之条件语句(if语句,case分支语句) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Shell編程之條件語句

  • 一、條件測試操作
    • 1.test命令
    • 2.文件測試
    • 3.整數(shù)值比較
    • 4.字符串比較
    • 5.邏輯測試
  • 二、if語句
    • 單分支結(jié)構(gòu)
    • 雙分支結(jié)構(gòu)
    • 多分支結(jié)構(gòu)
  • 三、case分支語句

一、條件測試操作

1.test命令

測試表達(dá)式是否成立,若不成立返回0,否則返回其他數(shù)值

格式1:test 條件表達(dá)式 格式2[ 條件表達(dá)式 ]

2.文件測試

[ 操作符 文件或目錄 ]

常用的測試操作符

常用的操作符作用
-d測試是否為目錄(Directory)
-e測試目錄或文件是否存在(Exist)
-f測試是否為文件(File)
-r測試當(dāng)前用戶是否有權(quán)限讀取(Read)
-w測試當(dāng)前用戶是否有權(quán)限寫入(Write)
-x測試當(dāng)前用戶是否有權(quán)限執(zhí)行(Excute)


3.整數(shù)值比較

[ 整數(shù)1 操作數(shù) 整數(shù)2 ] 常用的測試操作符: -eq #等于(Equal) -ne #不等于(Not Equal) -gt #大于(Greater Than) -lt #小于(Lesser Than) -le #小于或等于(Lesser or Equal) -ge #大于或等于(Greater or Equal)



4.字符串比較

格式1 [ 字符串1 = 字符串2 ][ 字符串1 != 字符串2 ] 格式2 [ -z 字符串 ] =:第一個(gè)字符串與第二個(gè)字符串相同!=:第一個(gè)字符與第二個(gè)字符串不相同,“!”表示取反-z:字符串內(nèi)容為空-n:是否有字符串存在

5.邏輯測試

格式1[ 表達(dá)式1 ] 操作符 [ 表達(dá)式2 ] 格式2:命令1 操作符 命令2

常用的操作符:

-a或&& :邏輯與,“而且”的意思,前后條件需都成立 -o或|| :邏輯或,“或者”的意思,只需前后條件中一個(gè)成立 ! :邏輯否 a=5 [ $a -ne 1 ] && [ $a != 2 ] 等同于 [ $a -ne 1 -a $a != 2 ]#、&&||操作符能夠正常存在于[[ ]]條件判斷結(jié)構(gòu)中,但是如果出現(xiàn)在[ ]結(jié)構(gòu)中的話,會(huì)報(bào)錯(cuò) [[ $a -ne 1 && $a != 2 ]] [ 2 -lt 3 ] && echo true || echo false [ 2 -ge 3 ] && echo true || echo false

vim pinghost.sh #!/bin/bash ping -c 3 -i 0.5 -W 2 $1 &> /dev/null && echo "$1 online" || echo "$1 off"-c:發(fā)送包的個(gè)數(shù) -i:發(fā)送包的間隔時(shí)間 -W:超時(shí)時(shí)間 -w:多少秒后停止 ping 命令操作


二、if語句

單分支結(jié)構(gòu)

格式: if 條件測試操作 then 命令序列 fi 三種表達(dá)方式 方法一: if [ 3 -gt 2 ]thenecho "ok" fi方法二: if [ 3 -gt 2 ]; then echo "ok"; fi方法三: [ 3 -gt 2 ] && echo "ok"

雙分支結(jié)構(gòu)

格式: if 條件測試操作 then 命令序列 1 else 命令序列 2 fi



多分支結(jié)構(gòu)

格式: if 條件測試操作 1 then 命令序列 1 elif 條件測試操作 2 then 命令序列 2 [else] [命令序列 3] fi

示例:提示用戶輸入100米賽跑的秒數(shù),要求判斷秒數(shù)大于0且小于等于10秒的進(jìn)入選拔賽,大于10秒的都淘汰,
如果輸入其它字符則提示重新輸入;進(jìn)入選拔賽的成員再進(jìn)一步判斷男女性別,男生進(jìn)男生組,女生進(jìn)女生組,如果輸入錯(cuò)誤請?zhí)崾惧e(cuò)誤

三、case分支語句

case 變量值 in 模式一)命令序列 ;; 模式二)命令序列 ;; …… *)默認(rèn)命令序列 esac

示例:

總結(jié)

以上是生活随笔為你收集整理的Shell编程之条件语句(if语句,case分支语句)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。