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

如何在 Bash 腳本中使用強大的 Linux test 命令

系統 Linux
test 命令在腳本中更有用,因為您可以對照另一個變量測試一個變量的值并控制程序流程。在命令行上,使用它來測試文件是否存在。

Linux test 命令是 Shell 內置命令,用來檢測某個條件是否成立。test 通常和 if 語句一起使用,并且大部分 if 語句都依賴 test。可以將一個元素與另一個元素進行比較,但它更常用于BASH shell 腳本中,作為控制邏輯和程序流程 的條件語句的一部分。

test 命令有很多選項,可以進行數值、字符串和文件三個方面的檢測。

一個基本的例子

在終端窗口中嘗試這些命令。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                    
? test 1 -eq 2 && echo "yes" || echo "no"
no
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
? test 1 -eq 1 && echo "yes" || echo "no"
yes

上面的命令分解如下:

  •  test:執行比較的命令
  •  1:您要比較的第一個元素。在此示例中,它是數字1,但它可以是任何數字,也可以是引號內的字符串。
  •  - eq:比較方法。在本例中,您正在測試一個值是否等于另一個值。
  •  2:您要比較第一個元素的元素。在這個例子中,它是數字2。
  • &&:按順序將命令鏈接在一起的 Linux 快捷方式。測試鏈的輸出到隨后的命令。當前面的命令的退出狀態為 0 時,將執行雙與號,這是表示命令沒有失敗的一種奇特方式。
  •  echo "yes":比較成功時運行的命令。在這種情況下,我們所做的只是要求echo命令將單詞“yes”打印到標準輸出,但是如果測試結果證明為真,您可以在此處運行任何將執行的命令。
  •  || : 在某種程度上,與 &&; 正好相反 只有在它前面的命令失敗(退出狀態不是 0)時,雙管道才會執行。
  •  echo "no":比較不符時運行的命令。

小貼士:從 shell 提示符運行,test不會將值返回到標準輸出,它僅返回退出狀態代碼。這就是為什么需要鏈接 echo 命令的原因。

本質上一樣的,該命令將 1 與 2 進行比較,如果它們匹配,則執行 echo“yes”語句并顯示“yes”,如果它們不匹配,則執行 echo“no”語句,顯示“no”。

比較數字

如果要比較解析為數字的元素,可以使用以下比較運算符:

  • -eq:值 1 等于值 2
  • -ge : 值 1 大于或等于值 2
  • -gt : 值 1 大于值 2
  • -le : 值 1 小于或等于值 2
  • -lt : 值 1 小于值 2
  • -ne : 值 1 不等于值 2

示例測試

test 1 -eq 2 && echo "yes" || echo "no"

(在屏幕上顯示“no”,因為 1 不等于 2)

test 1 -ge 2 && echo "yes" || echo "no"

(在屏幕上顯示“no”,因為 1 不大于或等于 2)

test 1 -gt 2 && echo "yes" || echo "no"

(在屏幕上顯示“no”,因為 1 不大于 2)

test 1 -le 2 && echo "yes" || echo "no"

(在屏幕上顯示“yes”,因為 1 小于或等于 2)

test 1 -lt 2 && echo "yes" || echo "no"

(在屏幕上顯示“yes”,因為 1 小于或等于 2)

test 1 -ne 2 && echo "yes" || echo "no"

(在屏幕上顯示“yes”,因為 1 不等于 2)

比較文本

比較解析為字符串的元素時,請使用以下比較運算符:

  • =:字符串 1 匹配字符串 2
  • != : 字符串 1 與字符串 2 不匹配
  • -n:字符串長度大于0
  • -z:字符串長度等于 0

例子

test "string1" = "string2" && echo "yes" || echo "no"

(在屏幕上顯示“no”,因為“string1”不等于“string2”)

test "string1" != "string2" && echo "yes" || echo "no"

(在屏幕上顯示“yes”,因為“string1”不等于“string2”)

test -n "string1" && echo "yes" || echo "no"

(在屏幕上顯示“yes”,因為“string1”的字符串長度大于零)

test -z "string1" && echo "yes" || echo "no"

(在屏幕上顯示“no”,因為“string1”的字符串長度大于零)

比較文件

比較文件時,請使用以下比較運算符:

  • -ef:文件具有相同的設備和 inode 編號(它們是同一個文件)
  • -nt : 第一個文件比第二個文件新
  • -ot:第一個文件比第二個文件舊
  • -b:文件存在并且是塊特殊的
  • -c:文件存在并且是字符特殊的
  • -d:文件存在并且是目錄
  • -e : 文件存在
  • -f : 文件存在并且是普通文件
  • -g:文件存在并具有指定的組號
  • -G : 文件存在且屬于用戶組
  • -h或-L:文件存在并且是符號鏈接
  • -k:文件存在并且設置了粘性位
  • -O : 文件存在你是所有者
  • -p:文件存在并且是命名管道
  • -r:文件存在且可讀
  • -s:文件存在且大小大于零
  • -S : 文件存在并且是一個socket
  • -t :在終端上打開文件描述符
  • -u:文件存在并且設置了 set-user-id 位
  • -w:文件存在且可寫
  • -x:文件存在且可執行

例子

? test linuxmi -nt linux && echo "yes"

(如果 linuxmi 比 linux 新,則顯示“yes”字樣,如上圖)

? test -e /home/linuxmi/linuxmi && echo "yes"

(如果 linuxmi 存在,將顯示“yes”)

test -O /home/linuxmi/linuxmi && echo "yes"

(如果您擁有 file1,則顯示“yes”字樣”)

塊特殊:文件是塊設備,這意味著數據以字節塊的形式讀取。這些通常是設備文件,例如硬盤驅動器。

特殊字符:文件在您寫入時立即執行,通常是串行端口等設備

比較多個條件

到目前為止,一切都在將一件事與另一件事進行比較,但是如果您想比較兩個條件怎么辦?

例如,如果一只動物有四條腿并且會發出“哞哞”的聲音,它可能是一頭奶牛。簡單地檢查四只腿并不能保證你有一頭牛,但檢查它發出的聲音肯定可以。

要同時測試這兩個條件,請使用以下語句:

test 4 -eq 4 -a "moo" = "moo" && echo "it is a cow" || echo "it is not a cow"

這里的關鍵部分是-a標志,它代表and。

有一種更好和更常用的方法來執行相同的測試,如下所示:

test 4 -eq 4 && test "moo" = "moo" && echo "it is a cow" || echo "it is not a cow"

test 命令的分支很重要。如果第一個測試 (4 = 4) 失敗,則 test 命令以非零退出代碼終止。因此,我們跳轉到雙管道符號并且“it is not a cow”打印到標準輸出。但是,如果第一個測試成功并因此 test 導致退出代碼0,那么我們跳轉到第一個雙與號(&&)。下一條語句是另一個測試條件!

如果第二次 test 失敗,我們再次跳到雙管并從那里繼續。然而,如果第二個 test 成功,我們跳轉到第二個雙& 語句,在這個例子中,它只是將“it is a cow”回顯到標準輸出,然后終止返回到 shell 提示符。

另一個測試比較兩個語句,如果其中一個為真,則輸出一個字符串。例如,要檢查是否存在名為“linuxmi.txt”的文件或名為“linuxmi.py”的文件,可以使用以下命令:

這里的關鍵部分是-o代表or。

test -e linuxmi.txt -o -e linuxmi.py && echo "linuxmi exists" || echo "linuxmi does not exist"

有一種更好和更常用的方法來執行相同的測試,如下所示:

test -e linuxmi.txt || test -e linuxmi.py && echo "linuxmi exists" || echo "linuxmi does not exist"

排除 test 關鍵字

您實際上不需要使用單詞test來執行比較。您所要做的就是將語句括在方括號中,如下所示:

? [ -e linux.py ] && echo "linux.py exists" || echo "file1 does not exist"
linux.py exists

[and]基本上與test含義 相同。

現在您知道這一點,您可以改進比較多個條件,如下所示:

[ 4 -eq 4 ] && [ "moo" = "moo" ] && echo "it is a cow" || echo "it is not a cow"
[ -e linuxmi.py ] || [ -e linuxmi.txt ] && echo "linuxmi exists" || echo "linuxmi does not exist"

總結

test 命令在腳本中更有用,因為您可以對照另一個變量測試一個變量的值并控制程序流程。在命令行上,使用它來測試文件是否存在。

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2022-11-23 08:14:42

bash 腳本test 命令

2020-04-09 10:18:51

Bash循環Linux

2022-10-25 09:07:28

Linuxxargs命令

2018-05-16 10:32:06

Linux命令find

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2023-09-14 15:05:33

grep正則表達式

2021-07-13 07:52:02

Linuxgrep命令

2021-07-20 10:00:28

Linuxgrep命令

2021-01-13 09:40:26

Linuxexport命令

2021-03-14 09:28:24

Linux Shell腳本

2022-10-09 10:18:44

LinuxShell腳本

2023-01-31 17:36:22

IPLinux網絡

2019-09-16 19:00:48

Linux變量

2018-04-28 09:12:42

Linux

2022-05-25 08:41:48

Linuxfd 命令文件

2011-08-23 09:56:52

UnicodeLua

2020-10-13 19:04:58

Bash信號捕獲Shell腳本

2023-01-09 10:29:41

mv命令Linux

2022-11-21 12:06:24

fgrep命令Linux
點贊
收藏

51CTO技術棧公眾號

五月天av在线| 涩爱av在线播放一区二区| 小处雏高清一区二区三区| 欧美高清视频在线高清观看mv色露露十八 | 欧美一区二区网站| 久艹在线免费观看| 欧美婷婷久久五月精品三区| 麻豆精品在线视频| 久久久久久久爱| 99久久精品免费视频| 国产美女视频一区二区| 精品久久久久久久大神国产| 视频一区二区三区免费观看| 丁香六月天婷婷| 久久中文字幕一区二区三区| 久久精品中文字幕免费mv| 国产一级黄色录像| 日韩电影精品| 色婷婷亚洲精品| 欧美久久久久久久久久久久久久| 国产在线观看免费网站| 国产成人自拍在线| 国产精品久久久精品| 免费无遮挡无码永久在线观看视频| 亚洲va久久久噜噜噜久久| 制服丝袜激情欧洲亚洲| 国产精品无码专区av在线播放| 性网站在线观看| 国产精品欧美经典| 九色91视频| 亚洲免费黄色片| 韩国成人福利片在线播放| 国产97免费视| 国产香蕉视频在线| 欧美日韩网站| 俺去亚洲欧洲欧美日韩| 人妻少妇一区二区| 国内精品视频| 欧美三级视频在线观看| 久久久噜噜噜www成人网| 国产在线二区| 中文字幕在线视频一区| 日本高清不卡一区二区三| 欧美性受xxxx狂喷水| 国产麻豆精品theporn| 国产精自产拍久久久久久| 免费污污视频在线观看| 一区二区三区福利| 91精品国产91久久久久福利| 国产在线免费视频| 欧美日韩亚洲一区在线观看| 久久精品欧美视频| 最新日韩免费视频| 99久久.com| 久久精品中文字幕| 中文字幕在线观看成人| 亚洲影视一区| 欧美另类99xxxxx| www青青草原| 一区二区亚洲精品| 久久久午夜视频| 国产午夜视频在线播放| 日韩午夜一区| 欧洲亚洲免费在线| 婷婷激情五月综合| 奇米精品一区二区三区在线观看一| 日韩av电影国产| 奴色虐av一区二区三区| 日本午夜一本久久久综合| 国产精品美女av| 影音先锋黄色网址| 国内欧美视频一区二区| 99精彩视频在线观看免费| 亚洲精品成人区在线观看| 成人午夜视频在线观看| 好看的日韩精品| 欧美日韩国产综合视频| 国产精品日韩成人| 中文字幕第50页| h片精品在线观看| 色琪琪一区二区三区亚洲区| 国内自拍视频一区| 精品一区二区三区中文字幕| 精品国产一区二区三区久久影院| 中国极品少妇videossexhd| 欧美一性一交| 在线亚洲国产精品网| 在线免费看av网站| 在线不卡视频| 国产精品电影观看| 国产绿帽刺激高潮对白| 成av人片一区二区| 色999日韩自偷自拍美女| 免费av网站在线观看| 一区二区三区精品视频在线| 国产精品秘入口18禁麻豆免会员| 日本.亚洲电影| 日韩欧美一区电影| 永久免费看mv网站入口78| 97视频热人人精品免费| 亚洲97在线观看| 中文字幕日日夜夜| 粉嫩一区二区三区在线看| 国产精品一 二 三| √新版天堂资源在线资源| 亚洲国产aⅴ天堂久久| 十八禁视频网站在线观看| 国产一区 二区| 日韩精品在线电影| 唐朝av高清盛宴| 日韩成人av影视| 国产一区免费视频| 日本高清中文字幕在线| 欧美日韩国产综合新一区| 国产成人美女视频| 国产成人1区| 欧美精品第一页在线播放| 中文字幕无码乱码人妻日韩精品| 成人免费观看视频| 自拍偷拍一区二区三区| 亚洲三级欧美| 亚洲国产成人精品电影| 婷婷激情四射网| 日本亚洲免费观看| 欧美日韩国产精品一区二区| 激情图片在线观看高清国产| 欧美久久久久免费| 日本爱爱爱视频| 亚洲在线成人| 精品伊人久久大线蕉色首页| 中文字幕在线播放网址| 日本精品一区二区三区高清| av av在线| 国产精品vip| 91久久精品日日躁夜夜躁国产| 国外av在线| 色综合天天视频在线观看| 秘密基地免费观看完整版中文| 91精品国产91久久综合| 国产精品主播视频| av在线日韩国产精品| 日本精品免费观看高清观看| 亚洲の无码国产の无码步美| 激情欧美日韩| 国产精品久久一区二区三区| 久做在线视频免费观看| 欧美日韩国产成人在线免费| 国产黄色片在线| 青草av.久久免费一区| 日韩福利视频| 欧美国产日韩电影| 中文字幕日韩精品有码视频| 中文字幕在线视频免费| 中文一区二区完整视频在线观看| 国产黄色特级片| 一本久久青青| 国产精品久久久久久av福利软件| 免费黄色在线视频网站| 色一区在线观看| 性猛交ⅹxxx富婆video| 美女一区二区久久| 天天爱天天做天天操| 精品视频91| 久久久女女女女999久久| 天堂av在线免费| 日韩欧亚中文在线| 91精品久久久久久久久久久久| 青青草国产精品97视觉盛宴| 亚洲一区三区视频在线观看| 美女视频一区| 欧美裸身视频免费观看| 日韩一卡二卡在线| 欧美性猛交99久久久久99按摩| 国产又粗又猛又爽又黄av| 蜜臀久久久久久久| 国产又爽又黄ai换脸| 青草伊人久久| 97超级碰在线看视频免费在线看| 五月婷在线视频| 欧美吞精做爰啪啪高潮| 九九热最新地址| www.日韩精品| 久久久国产欧美| 亚洲91精品| 国产欧美一区二区视频| 午夜无码国产理论在线| 久久精品亚洲94久久精品| 日韩中文字幕免费观看| 在线观看国产一区二区| 精品自拍偷拍视频| 成人aaaa免费全部观看| 国产精品区在线| 亚洲午夜91| 午夜精品美女久久久久av福利| 亚洲色图图片| 45www国产精品网站| 免费在线看黄| 日韩毛片在线观看| 97人人爽人人爽人人爽 | 日韩精品一区二区在线播放| 国产欧美精品一区二区色综合朱莉| 一区二区在线免费看| 日韩香蕉视频| 青草全福视在线| 婷婷成人影院| 波多野结衣久草一区| 精品国模一区二区三区| 久久久噜噜噜久久久| 91福利在线视频| 亚洲精品国产suv| 国产熟女精品视频| 色噜噜狠狠一区二区三区果冻| 亚洲av无码一区二区三区在线| 久久久久国色av免费看影院| 日本人dh亚洲人ⅹxx| 日韩不卡在线观看日韩不卡视频| 久草免费福利在线| 五月开心六月丁香综合色啪| 日本高清久久一区二区三区| 久久porn| 国产精品对白刺激久久久| 伊人亚洲精品| 国产精品视频大全| 亚洲女同志freevdieo| 欧美大片在线看| 欧美69xxx| 中文字幕无线精品亚洲乱码一区| 四虎精品成人影院观看地址| 日韩午夜精品电影| 国产影视一区二区| 欧美色区777第一页| 日本熟女毛茸茸| 精品欧美国产一区二区三区| 精品少妇久久久| 亚洲激情五月婷婷| 黑鬼狂亚洲人videos| 中文字幕日本不卡| 欧美巨胸大乳hitomi| 久久蜜桃一区二区| 国产亚洲色婷婷久久99精品91| 国产成人午夜高潮毛片| 黄色片子免费看| 国内成人精品2018免费看| 亚洲欧美日韩三级| 久久国产精品免费| 天天干天天草天天| 久久99热狠狠色一区二区| 天天插天天操天天射| 强制捆绑调教一区二区| 亚洲久久中文字幕| 久久精品国产免费| 久久久精品高清| 黄色资源网久久资源365| 最新国产黄色网址| 国产美女一区二区| 国产裸体视频网站| 东方aⅴ免费观看久久av| 色婷婷狠狠18禁久久| 国产a级毛片一区| 爱情岛论坛亚洲自拍| 国产一区二区三区av电影| 国产精品久久久久野外| 成人一区二区三区在线观看| 欧产日产国产精品98| 99re热这里只有精品视频| 波多野结衣 在线| 国产午夜精品一区二区三区嫩草 | 大桥未久av一区二区三区| 久久久精品福利| 欧美性猛片aaaaaaa做受| 一级片免费网站| 日韩欧美亚洲一区二区| 深爱五月激情五月| 亚洲美女黄色片| 99riav在线| 久久99国产精品自在自在app | 国产精品久久久久久久久久免费 | 国产乱对白刺激视频不卡| 午夜性福利视频| 久久久久高清精品| 91视频青青草| 午夜视频久久久久久| 91丨九色丨海角社区| 91精品福利在线一区二区三区| 国产91久久久| 亚洲新中文字幕| 日本理论片午伦夜理片在线观看| 国产91|九色| 999精品嫩草久久久久久99| av一本久道久久波多野结衣| 亚洲妇女av| 欧美h视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 一区二区三区四区五区| 亚洲国产人成综合网站| 久久精品视频2| 欧美成人猛片aaaaaaa| 欧美成熟毛茸茸| 欧美精品做受xxx性少妇| 亚洲女同志freevdieo| 91久久久精品| 少妇精品久久久一区二区三区| 青少年xxxxx性开放hg| 免费精品视频| 久久av一区二区三| 中文久久乱码一区二区| 日本熟妇一区二区| 欧美日韩二区三区| 欧美理论在线观看| 久久久久久久久久国产| 欧美大片网站| 欧美中文娱乐网| 亚洲激情不卡| 四虎成人在线播放| 中文子幕无线码一区tr| 一级片中文字幕| 日韩一级黄色大片| 中文日本在线观看| 日韩av电影手机在线| 卡一精品卡二卡三网站乱码 | 国产欧美亚洲一区| 中文字幕在线视频一区二区| 欧美激情一区二区三区四区 | 久久国产精品毛片| 亚洲乱妇老熟女爽到高潮的片| 中文字幕在线观看一区| 日韩黄色片网站| 亚洲免费一在线| 国产探花在线观看| 亚洲www在线| 久久久久国产| 亚洲天堂2018av| 中文子幕无线码一区tr| 亚洲国产成人精品女人久久| 亚洲精品www久久久| 电影k8一区二区三区久久| 99久久综合狠狠综合久久止| 66视频精品| 四虎成人在线播放| 亚洲色大成网站www久久九九| 高潮无码精品色欲av午夜福利 | 国产三区在线观看| 国产美女主播一区| 日韩精品首页| 手机在线成人免费视频| 国产精品久久久久久久久晋中 | gogogo免费视频观看亚洲一| 五月天婷婷丁香| 日韩av在线最新| 欧美办公室脚交xxxx| 精品视频一区二区| 亚洲一区不卡| 国产精品免费无码| 欧美片网站yy| а√天堂资源地址在线下载| 亚洲最大福利视频网| 午夜久久一区| 国产原创剧情av| 五月天丁香久久| 久久精品a一级国产免视看成人| 国产成人中文字幕| 精品国内自产拍在线观看视频 | 高潮精品一区videoshd| 99免费在线观看| 日韩精品在线视频| 国产精品伊人| 在线观看18视频网站| 成人高清伦理免费影院在线观看| 日韩污视频在线观看| 精品一区二区三区四区| av免费在线一区| 香蕉视频免费版| 不卡一二三区首页| 国产性生活视频| 久久伊人91精品综合网站| 9l亚洲国产成人精品一区二三| 国产在线无码精品| 91麻豆蜜桃一区二区三区| 超碰在线97观看| 精品中文字幕在线| 久久av免费看| 手机av在线网站| 欧美日韩在线免费| 米奇精品一区二区三区| 1卡2卡3卡精品视频| 美女国产一区| 91日韩中文字幕| 日韩精品中文在线观看| 欧美综合社区国产| 很污的网站在线观看| 国产女主播视频一区二区| www黄色在线观看| 国产成人精品午夜| 欧美日韩国产亚洲一区| 精品无码国产污污污免费网站 | 国产精品视频免费观看www| 欧美福利电影在线观看| 天天躁日日躁aaaa视频| 日韩精品一区二区三区swag| 欧美一级大黄|