精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Bash 初學者系列 7:bash 中的條件語句(if else)

系統 Linux
今天我們介紹一下如何在 bash 中使用條件語句。

在 bash 中使用 if 語句

在絕大多數編程語言中,if 語句都是最基本的條件語句。在 bash 中其語法如下:?

if [ condition ]; then  your codefi

if 語句以 fi(與if相反)結束。

注意空格:

  • 在開始括號之后,與結束括號之前,都必須要有一個空格,否則 shell 將報錯;
  • 條件運算符(=,==,<=等)前后必須有空格,否則將報錯。

我們創建一個示例腳本 root.sh,當你以 root 身份運行該腳本的時候,才會進入 if  語句:?

#!/bin/bash
if [ $(whoami) = 'root' ]; thenecho "You are root"fi

whoami 命令輸出當前用戶名。在 ??bash 變量???教程中,我們介紹了 $(command) 結構的語法用于命令替換。

所以,當你以 root 用戶身份登錄時,條件 $(whoami) = 'root' 才為真。

圖片

if-else 語句

上述代碼中,如果當前用戶不是 root,將看不到任何輸出。當 if 條件為 false 的時候,需要將其執行的代碼放到 else 語句中,如下所示:

#!/bin/bash
if [ $(whoami) = 'root' ]; thenecho "You are root"elseecho "You are not root"fi

此時,當你以普通用戶運行腳本的時候,會輸出 You are not root,如下所示:?

$ ./root.shYou are not

使用 else if 語句

當有多個表達式(條件)時,可以使用 elif(else-if)語句。看下面的例子,我們創建一個名為 age.sh 的腳本:?

#!/bin/bash
AGE=$1
if [ $AGE -lt 13 ]; thenecho "You are a kid."elif [ $AGE -lt 20 ]; thenecho "You are a teenager."elif [ $AGE -lt 65 ]; thenecho "You are an adult."elseecho "You are an elder."fi

上述代碼中的 -lt 即小于(less than)。在前面的文章中我們介紹過如何給 ??bash 腳本傳遞參數???,現在我們運行一下 age.sh,并傳遞不同的參數:?

$You are a kid.$You are a teenager.$You are an adult.$You are an elder.

需要注意的是,在條件語句中,可以有多個 elif ,但是只能有一個 else,且必須使用 fi 關閉。

在 bash 中嵌套使用 if 語句

if 語句可以嵌套使用。看如下 weather.sh 腳本:?

#!/bin/bash
TEMP=$1
if [ $TEMP -gt 5 ]; thenif [ $TEMP -lt 15 ]; thenecho "The weather is cold."elif [ $TEMP -lt 25 ]; thenecho "The weather is nice."elseecho "The weather is hot."fielseecho "It's freezing outside ..."fi

上述腳本接受溫度作為參數,然后顯示一條反應天氣情況的信息。當溫度大于 5 度的時候,就會進入嵌套的 if 語句。我們運行一下該腳本:?

$It's freezing outside ...$The weather is cold.$The weather is nice.$The weather is hot.

在 bash 中使用 case 語句

我們還可以在 bash 中使用 case 語句來替換多個 if 語句,其構造的一般語法如下:?

case "variable" in"pattern1"Command … ;;"pattern2"Command … ;;"pattern2"Command … ;;esac

注意:

  • 條件語句最后總會包含一個空格和右括號 )
  • 條件語句后的命令以兩個分號 ;; 結束,其前面的空格可有可沒有;
  • case 語句 以 esac 結尾(與 case 相反)。

case 語句在處理模式匹配或正則表達式的時候特別有用。作為演示,我們創建一個名為 char.sh 的腳本:?

#!/bin/bash
CHAR=$1
case $CHAR in[a-z])echo "Small Alphabet."[A-Z])echo "Big Alphabet."[0-9])echo "Number."*)echo "Special Character."esac

上述腳本接受一個字符作為參數,并顯示該字符是大寫字母,還是小寫字母、數字還是特殊字符。?

$ ./char.sh aSmall Alphabet.$ ./char.sh ZBig Alphabet.$ ./char.sh 7Number.$ ./char.sh $Special Character.

上述腳本中我使用了通配符 * 來定義默認字符,它相當于 if 語句中的 else 語句。

bash 中的測試條件

有許多測試條件可以與 if 語句一起使用。如果使用數字、字符串或文件,測試條件會有所不同。將它們視為bash中的邏輯運算符。

下表列出一些最常用的測試條件:

條件

相當于

$a -lt $b

$a < $b

$a -gt $b

$a > $b

$a -le $b

$a <= $b

$a -ge $b

$a >= $b

$a -eq $b

$a 等于 $b

$a -ne $b

$a 不等于 $b

-e $FILE

$FILE 存在

-d $FILE

$FILE 存在且是一個目錄.

-f $FILE

$FILE 存在且是一個常規文件.

-L $FILE

$FILE 存在且是一個軟鏈接.

$STRING1 = $STRING2

$STRING1 等于 $STRING2

$STRING1 != $STRING2

$STRING1 不等于 $STRING2

-z $STRING1

$STRING1 是空的

上面這些測試條件不需要專門記,可以在 man 手冊中查看:

$ man test

我們創建一個名為 filetype.sh 的腳本,用來檢查文件是常規文件、目錄還是軟鏈接:?

#!/bin/bash
if [ $# -ne 1 ]; thenecho "Error: Invalid number of arguments"exitfi
file=$1
if [ -f $file ]; thenecho "$fileelif [ -L $file ]; thenecho "$fileelif [ -d $file ]; thenecho "$fileelseecho "$filefi

在腳本的開始,我們檢查一下參數的數量,如果沒有參數或者有多個參數,腳本會輸出一條消息并退出。下面是運行情況:?

$ ./filetype.sh weather.shweather.sh is a regular file.$ ./filetype.sh /bin/bin is a soft link.$ ./filetype.sh /var/var$ ./filetype.sh Error: Invalid number of arguments

在同一行中編寫 if else 語句

到目前為止,我們上述代碼都是在規范的縮進格式下寫的,這是一種規范的寫法,但并不是非這樣寫不可。

當你只想在 shell 中看到結果時,可以在單行中使用 if else 語句。

假設我們有如下腳本:?

if [ $(whoami) = 'root' ]; thenecho "You are root"elseecho "You are not root"fi

可以在一行代碼中這樣寫:

if [ $(whoami) = 'root' ]; then echo "root"; else echo "not root"; fi

大家可以運行一下上面的腳本,看看結果。

基本上,就是在命令結束后添加分號 ; ,然后寫下一條語句。

責任編輯:龐桂玉 來源: TIAP
相關推薦

2022-12-13 12:55:15

Bash循環

2022-12-08 12:05:03

Bash字符串

2022-11-30 07:47:00

Bash腳本

2022-12-02 14:30:24

Bash腳本數組

2022-12-01 08:10:49

Bash腳本參數

2022-12-14 10:08:00

BashLinux

2022-12-16 09:01:24

2022-12-07 07:43:21

2023-08-11 15:46:40

BashIf Else 語句

2022-11-28 08:01:47

BashLinuxshell 腳本

2022-10-19 23:18:27

KubernetesPod錯誤

2014-01-03 14:09:57

Git學習

2011-06-17 15:25:18

Qt

2023-08-22 21:42:03

Bash函數

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2009-11-13 15:46:25

Java多線程

2011-04-12 10:13:24

2010-11-24 16:15:09

UI設計Windows Pho

2011-07-04 14:14:54

java
點贊
收藏

51CTO技術棧公眾號

av在线网站观看| 妺妺窝人体色www在线小说| 国产精品羞羞答答在线| 欧美有码视频| 精品偷拍一区二区三区在线看| 欧美一区二区三区爽大粗免费| 成年在线观看免费人视频| 精品一区二区在线免费观看| 97视频在线观看成人| 3d动漫精品啪啪一区二区下载| 色猫猫成人app| 亚洲午夜激情网页| 亚洲v欧美v另类v综合v日韩v| www.com欧美| 久久久久久9| 欧美激情伊人电影| 麻豆视频免费在线播放| 国产精品色在线网站| 欧美午夜寂寞影院| 久久亚洲a v| eeuss影院在线观看| 福利一区二区在线| 国产美女91呻吟求| 日本中文字幕久久| 红桃视频国产一区| 精品国产欧美一区二区三区成人| 欧美bbbbb性bbbbb视频| 日韩高清一区| 91国偷自产一区二区三区成为亚洲经典 | 波多野结衣中文一区| 国产精品美女999| 亚洲精品国产精品乱码| 欧美在线高清| 日韩有码片在线观看| 色一情一交一乱一区二区三区 | 日产国产高清一区二区三区| 97在线看福利| 男女免费视频网站| 五月综合激情| 日韩中文字幕精品视频| 亚洲国产无码精品| 美女视频亚洲色图| 欧美一区二区精品在线| 99热一区二区| **在线精品| 五月婷婷久久综合| 妞干网在线视频观看| 69成人在线| 国产精品久久毛片a| 欧美中日韩一区二区三区| 日韩一级片免费看| 成人小视频在线观看| 成人免费视频网站入口| 国产成人三级在线播放| 另类人妖一区二区av| 国产精品久久久久久久久借妻| 在线精品免费视| 久久久久一区| 国产精品日韩在线观看| 中文字幕永久在线观看| 免费在线观看精品| 国产视频观看一区| 国产男女裸体做爰爽爽| 国产九色精品成人porny| 亚洲aaa激情| 亚洲AV无码成人片在线观看| 国产91精品一区二区麻豆亚洲| 国产高清精品一区二区| 后入内射欧美99二区视频| 成人激情小说乱人伦| 久久大片网站| 二区在线观看| 亚洲精品日韩专区silk| 亚洲色成人www永久在线观看| 美女网站视频在线| 欧美色另类天堂2015| 免费涩涩18网站入口| 91精品亚洲一区在线观看| 欧美一三区三区四区免费在线看 | 91美女蜜桃在线| 青青草久久网络| 国内精品久久久久国产| 亚洲一二三四区不卡| 又粗又黑又大的吊av| 亚洲爱爱视频| 日韩一二三四区| 91丝袜在线观看| 日韩在线二区| 国产精品一区在线观看乱码 | 欧美黑人一区二区三区| 国产在线观看免费av| 亚洲欧美视频一区二区三区| 国产精品高潮呻吟久久av黑人| 一本色道久久综合精品婷婷| 国产成人在线网站| 欧美一区国产一区| av免费在线观| 91豆麻精品91久久久久久| 国产传媒免费观看| 色爱综合av| 精品国偷自产在线视频| 中国一级特黄毛片| 老司机精品视频导航| 国产乱码精品一区二区三区日韩精品 | 亚洲国产精品悠悠久久琪琪| 欧美熟妇激情一区二区三区| 午夜精品久久| 国产精品狼人色视频一区| 亚洲欧美另类一区| 国产精品天干天干在观线| 成人免费观看在线| 亚洲一区av| 亚洲人成网在线播放| 欧美精品成人久久| 日本视频一区二区| 国产一区视频观看| 18在线观看的| 欧美电影一区二区| 国产91丝袜美女在线播放| 激情综合亚洲| 亚洲精品日韩激情在线电影| 成人不用播放器| 一本久久a久久精品亚洲| 麻豆tv在线观看| 偷拍欧美精品| 国产精品主播视频| 国产在线一二三| 精品久久香蕉国产线看观看gif| 久久久精品视频国产| 日韩欧美大片| 国产精品久久久亚洲| 日本成人一区| 欧美视频一区二区三区…| 国产黑丝在线观看| 伊人成人在线视频| av资源一区二区| 影音先锋在线视频| 欧美一二三四区在线| 在线日韩国产网站| 久久99热狠狠色一区二区| 亚洲精品影院| 日韩成人一区| 精品精品国产国产自在线| 亚洲天堂久久久久| 国产精品久久久久一区二区三区| 亚欧在线免费观看| 国产在视频线精品视频www666| 2021久久精品国产99国产精品| 色香蕉在线视频| 午夜视频在线观看一区| 日韩精品人妻中文字幕有码| 在线看片一区| 国产尤物99| 黄色激情在线播放| 亚洲精品一区二区三区婷婷月| av大片在线免费观看| 91香蕉视频黄| 午夜肉伦伦影院| 久久久伦理片| 性欧美视频videos6一9| 无码国产色欲xxxx视频| 欧美视频精品一区| 色噜噜噜噜噜噜| 看国产成人h片视频| 在线观看免费黄色片| 日韩一区二区三区色| 久久久噜噜噜久久| 深夜福利在线视频| 欧美主播一区二区三区美女| 美国黄色片视频| 国产精品一区二区免费不卡| www.好吊操| 女厕嘘嘘一区二区在线播放 | 亚洲中文一区二区三区| 亚洲视频在线观看一区| www男人天堂| 美女久久网站| 国产盗摄视频在线观看| 成人精品动漫一区二区三区| 茄子视频成人在线| 蜜桃视频在线观看www社区| 欧美mv日韩mv| 日日骚av一区二区| 亚洲精品少妇30p| 毛茸茸多毛bbb毛多视频| 久久国产夜色精品鲁鲁99| 日本a在线天堂| 国产成人手机高清在线观看网站| 国产欧美最新羞羞视频在线观看| 韩国日本一区| 国产午夜精品视频免费不卡69堂| 国产精品主播一区二区| 黄色成人在线免费| 伊人久久久久久久久久久久久久| 成人avav在线| gogogo高清免费观看在线视频| 欧美激情成人在线| 欧美一级片免费观看| 狂野欧美xxxx韩国少妇| 欧美中文字幕精品| 制服丝袜在线播放| 亚洲色图色老头| 国模人体一区二区| 欧美剧情片在线观看| 日韩色图在线观看| 一区二区三区四区高清精品免费观看| 精品少妇一区二区三区免费观| 国产一区二区0| 免费日韩中文字幕| 亚洲久久在线| 一级性生活视频| 成人网18免费网站| 久久国产一区二区| 91久久偷偷做嫩草影院电| 国产精品99久久久久久人| av老司机在线观看| 久久的精品视频| av男人的天堂在线| 日韩久久免费视频| 日韩一级片免费在线观看| 91精品国产综合久久婷婷香蕉 | 欧美一卡二卡三卡| 中文字幕在线播放不卡| 日韩欧美亚洲一二三区| 日本免费一二三区| 一区二区三区精品在线| 天海翼在线视频| 亚洲国产精品二十页| 国产精品815.cc红桃| 99久久婷婷国产综合精品| 男人添女人荫蒂国产| 国产麻豆一精品一av一免费| 57pao国产成永久免费视频| 日本vs亚洲vs韩国一区三区 | 国产在线视频不卡二| 91人人澡人人爽人人精品| 新狼窝色av性久久久久久| 欧美,日韩,国产在线| 影音先锋久久精品| 草b视频在线观看| 国产一区二区三区自拍 | 国产视频一区在线观看一区免费| 免费一级淫片aaa片毛片a级| 国产精品激情| av女优在线播放| 在线不卡视频| 青娱乐自拍偷拍| 国产精品女主播一区二区三区| 福利视频一区二区三区四区| 亚洲国产一区二区三区a毛片| 97碰在线视频| 99亚洲视频| 国产淫片av片久久久久久| 日韩在线卡一卡二| 久久午夜夜伦鲁鲁一区二区| 蜜臀精品一区二区三区在线观看| 国产一级不卡毛片| 久久精品国产久精国产| 亚洲免费在线播放视频| 国产久卡久卡久卡久卡视频精品| 日本女人性视频| 成人av综合在线| 韩国无码一区二区三区精品| wwwwxxxxx欧美| 日本免费www| 亚洲色图在线播放| 欧美人妻一区二区| 天天综合网 天天综合色| 台湾佬中文在线| 欧美日本在线播放| 国产 日韩 欧美 精品| 亚洲精品电影网站| 超碰免费在线观看| 成年人精品视频| jizzjizz中国精品麻豆| 日本中文字幕久久看| jizzyou欧美16| 亚洲aⅴ日韩av电影在线观看 | 成人免费毛片东京热| 一区二区三区在线视频免费观看| 免费毛片一区二区三区| 色8久久人人97超碰香蕉987| 一二三四区在线| 精品成人免费观看| 国产爆初菊在线观看免费视频网站 | 在线免费看av| 久久99精品久久久久久青青91 | avtt在线播放| 欧美第一页在线| 日韩成人影音| 国产91社区| 欧美日韩一区二区三区视频播放| 国产成人免费高清视频| 乱码第一页成人| av在线免费观看不卡| 久久综合狠狠综合久久激情 | 你懂的在线免费观看| 精品国产一区二区在线| 国产极品在线观看| 成人网中文字幕| 中文字幕伦av一区二区邻居| 99热这里只有精品7| 亚洲一区二区免费看| 欧美精品 - 色网| 久久一日本道色综合| 全网免费在线播放视频入口| 色综合天天综合色综合av | 欧美aaa在线观看| 老鸭窝91久久精品色噜噜导演| 亚洲欧美日韩网站| 欧美—级在线免费片| 精品午夜福利视频| 欧美精品一二三| 岛国在线视频免费看| 538国产精品一区二区免费视频| 亚洲日日夜夜| 午夜一区二区三区| 国产精品久久久久9999高清| 极品人妻一区二区| 中文av一区特黄| 69成人免费视频| 亚洲成人a**站| 亚洲色图美国十次| 国产免费一区视频观看免费| 香蕉久久精品| 免费在线观看视频a| 国产成人精品一区二区三区四区| 在线观看免费黄色网址| 色综合欧美在线| 视频在线不卡| 久久久久久综合网天天| 狂野欧美xxxx韩国少妇| 黑人巨大国产9丨视频| 久久国产精品一区二区| 日韩女同一区二区三区| 日本高清无吗v一区| 免费在线性爱视频| 91成人在线播放| 日韩在线黄色| 国产免费一区二区三区视频| 91免费看片在线观看| 亚洲视频免费播放| 精品成人私密视频| a级片免费在线观看| 精品国产91亚洲一区二区三区www| 激情五月***国产精品| 北京富婆泄欲对白| 欧美日韩国产中文精品字幕自在自线| 蜜桃久久一区二区三区| 久久久久国色av免费观看性色| 97人人澡人人爽91综合色| avav在线播放| 97精品超碰一区二区三区| 五月天婷婷久久| 亚洲欧美三级伦理| 蜜桃视频成人m3u8| 亚洲三区在线| 国产在线一区二区| 久久久综合久久| 亚洲国产精品久久久久久| 大菠萝精品导航| 日韩欧美99| 久久成人免费网| 欧美毛片在线观看| 日韩精品中文字幕在线播放| 免费观看成人性生生活片| 亚洲精品美女久久7777777| 精品一区二区三区欧美| 欧美成人片在线观看| 日韩av在线最新| 卡通欧美亚洲| 在线观看日韩片| 粉嫩在线一区二区三区视频| 中日韩黄色大片| 一区二区亚洲精品国产| 成人亚洲精品| 青青草国产精品视频| 欧美韩国日本不卡| 国产三级伦理片| 欧美一级bbbbb性bbbb喷潮片| 国产一区二区三区电影在线观看| 911福利视频| 亚洲国产日韩一区二区| 国产在线中文字幕| 亚洲一区二区三区毛片| 国产一区二区三区久久| 美国黄色片视频| 日韩高清欧美高清| 9999精品免费视频| 给我免费播放片在线观看| 久久精品亚洲一区二区三区浴池 | 亚洲黄色有码视频| 88xx成人网| 亚洲国产精品成人天堂| 国产人妖乱国产精品人妖| 精品久久国产视频| 国产精品高精视频免费| 黑人一区二区| av片在线免费看| 日韩电视剧在线观看免费网站|