精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

欧美一区二区免费视频| 成人免费高清视频| 久久精品一区中文字幕| 成人做爰69片免费| 激情开心成人网| 亚洲欧美在线视频| 激情一区二区三区| 亚洲综合网av| 在线亚洲欧美| 北条麻妃一区二区三区中文字幕| 免费黄色a级片| 日本一区二区电影| 天天综合网天天综合色| 伊人婷婷久久| 蜜桃视频在线免费| 国产精品一卡二卡在线观看| 国产成人av网| 日韩精品人妻中文字幕| 天天操综合网| 亚洲欧美另类在线观看| 少妇熟女视频一区二区三区| 成人在线免费av| 欧美视频在线视频| 大陆av在线播放| av网站网址在线观看| 国产女人aaa级久久久级| 黄色91av| 深夜福利视频网站| 蜜臀精品一区二区三区在线观看 | 国产精品xxxx喷水欧美| 五月天久久777| 欲色天天网综合久久| 色婷婷av777| 国产乱论精品| 亚洲精品一线二线三线无人区| 在线免费黄色网| 色豆豆成人网| 91久久精品一区二区三区| 91国视频在线| 性欧美18~19sex高清播放| 亚洲成人自拍网| 黄色一级视频在线播放| 大香伊人久久| 亚洲国产另类精品专区| 四虎精品欧美一区二区免费| 美女写真理伦片在线看| 欧美精品在线一区二区| 国产91精品不卡视频| 久久久久久久久久久久久久久久久 | 午夜不卡久久精品无码免费| 日韩精品视频一区二区三区| 91精品福利在线一区二区三区 | 人妻丰满熟妇av无码区app| 欧亚av在线| 一本到不卡免费一区二区| www国产黄色| 69夜色精品国产69乱| 欧美性视频精品| 日本一区二区三区网站| 老牛精品亚洲成av人片| 亚洲精品美女视频| 久久久久久久久久久久| 青青草国产免费一区二区下载| 在线视频一区二区| 国产在线观看免费视频软件| 一区二区三区午夜探花| 欧美黑人性猛交| 日韩欧美亚洲一区二区三区| 亚洲影音一区| 国产精品视频不卡| 国产又粗又猛视频| 粉嫩aⅴ一区二区三区四区五区 | 女人抽搐喷水高潮国产精品| 日韩精品中文字幕在线观看| 91精品国自产在线| 亚洲情侣在线| 91大神在线播放精品| 波多野结衣黄色网址| 激情伊人五月天久久综合| 91精品久久久久久蜜桃| 四虎影院在线域名免费观看| 久久看人人爽人人| 亚洲国产高清国产精品| 日本一级理论片在线大全| 欧美日韩中文字幕在线| 色播五月综合网| www.亚洲一二| 在线精品国产欧美| 日本一级黄色录像| 日韩av电影天堂| av蓝导航精品导航| 福利在线视频导航| 一区av在线播放| www.国产区| 中文字幕区一区二区三| 亚洲欧美综合另类中字| 永久免费看黄网站| 爽爽淫人综合网网站| 99久久精品无码一区二区毛片 | 国自产精品手机在线观看视频| www.com亚洲| 国产精品99久久久久久久女警| 牛人盗摄一区二区三区视频| 日本三级在线观看网站| 在线一区二区三区四区五区| 中国免费黄色片| 国产精品传媒精东影业在线| 日韩免费在线看| 亚洲精品成av人片天堂无码| 国产精品福利一区二区| 日韩手机在线观看视频| 国产成人一二片| 少妇丰满尤物大尺度写真| 2021年精品国产福利在线| 亚洲网站视频福利| 精品视频在线观看免费| 蜜桃av一区二区在线观看| 国产一区二区久久久| 麻豆网站在线| 欧美亚洲愉拍一区二区| 亚洲制服丝袜在线播放| 欧美日韩国产成人精品| 91精品国产综合久久男男| 视频二区在线| 亚洲国产精品久久久久秋霞影院| 17c国产在线| 日韩精品四区| 国产精品欧美风情| 国产在线黄色| 色欧美日韩亚洲| 亚洲精品视频大全| 中文日韩欧美| 久久久久久久久久久一区| 欧美xxxx性xxxxx高清| 欧美一二三在线| 五月天av网站| 国产精品影视网| 性生活免费观看视频| 伊人久久一区| 欧美xxxx14xxxxx性爽| 国产精品热久久| 综合亚洲深深色噜噜狠狠网站| 在线免费视频一区| 久久高清免费| 成人午夜小视频| 丝袜在线观看| 亚洲国产精品成人一区二区| 日本系列第一页| 26uuu精品一区二区三区四区在线| 777久久久精品一区二区三区| 欧美日韩导航| 日韩美女写真福利在线观看| 国产精品秘入口| 在线观看av一区| 亚洲精品自拍视频在线观看| 国产一区二区三区av电影| 日本特级黄色大片| 日韩一二三区| 97香蕉久久夜色精品国产| 亚洲av成人精品毛片| 91久久精品一区二区二区| 麻豆视频免费在线播放| 国产一区二区三区在线观看免费视频 | 狠狠综合久久av一区二区| 亚洲国产一二三| 成人免费av片| 九一九一国产精品| 800av在线免费观看| 果冻天美麻豆一区二区国产| 日韩**中文字幕毛片| 男人和女人做事情在线视频网站免费观看| 在线不卡免费欧美| 国产一级在线播放| 久久久久久电影| 久久艹这里只有精品| 亚洲精品社区| 色老汉一区二区三区| 国产精品果冻传媒| 欧美亚洲网站| 在线视频福利一区| 盗摄牛牛av影视一区二区| 国产成人精品久久二区二区| 国产在线激情| 日韩成人av在线| 一本色道久久综合熟妇| 午夜久久久久久久久久一区二区| 51妺嘿嘿午夜福利| 国产精品1区二区.| 成人三级视频在线播放| 中文字幕一区二区av| 欧美日韩免费精品| 99久久免费精品国产72精品九九| 国产精品扒开腿做| 97超碰免费在线| 久久国产一区二区三区| 女人偷人在线视频| 精品国产乱码久久久久久夜甘婷婷| 自拍偷拍18p| 亚洲综合一二三区| 成人性视频免费看| 91丨九色porny丨蝌蚪| 国产精品久久久久久久99| 午夜亚洲性色福利视频| 成年在线观看视频| 99成人超碰| 欧美中日韩一区二区三区| 超碰成人在线免费| 91成人免费看| 91成人短视频在线观看| 日本久久久a级免费| 天堂亚洲精品| 久久精品国产99国产精品澳门 | 国产日韩欧美视频在线观看| 色综合久久久久| 日韩黄色a级片| 一区二区三区四区视频精品免费| 极品尤物一区二区| 国产三级精品三级在线专区| 喷水视频在线观看| 成人黄色综合网站| 日本成人在线免费| 国产伦精一区二区三区| 亚洲激情在线看| 免费看日韩精品| 国产视频一区二区视频| 久久久噜噜噜久久狠狠50岁| 久久亚洲中文字幕无码| 欧美午夜影院| 国产视频在线观看网站| 国内一区二区三区| 美女av免费观看| 国产伊人精品| 欧美一级欧美一级| 亚洲看片一区| 久久精品视频16| 亚洲精品色图| 亚洲自偷自拍熟女另类| 免费永久网站黄欧美| 欧美日韩中文在线视频| 国产精品久久久一区二区| 国产免费黄色一级片| 亚洲国产免费看| 99日在线视频| 深夜福利亚洲| 国产精品高潮视频| 欧美国产日韩一区二区三区| www.久久精品.com| 91精品国产综合久久精品麻豆| 欧美一级做a爰片免费视频| 色中色一区二区| aaa在线视频| av资源久久| 国产精品久久九九| 国产l精品国产亚洲区久久| 国际精品欧美精品| 亚洲mv在线看| 中文字幕一区二区av| 国产成人一区二区三区别| 伊人成人在线视频| 亚洲午夜无码av毛片久久| 久久三级视频| 亚洲精品20p| 国产黄人亚洲片| 水蜜桃av无码| 国产欧美1区2区3区| 日本中文在线视频| 亚洲国产精品久久久男人的天堂| 波多野结衣啪啪| 欧美日韩国产大片| 国精品人妻无码一区二区三区喝尿| 亚洲精品福利在线观看| 二区三区在线| 欧美成人午夜激情在线| 蜜桃视频动漫在线播放| 国产精品免费在线免费 | 91吃瓜网在线观看| 色中色综合影院手机版在线观看| 欧产日产国产精品视频| 国产精品欧美一区二区| 久久免费精品| 免费av在线一区二区| 久久精品亚洲欧美日韩精品中文字幕| 免费特级黄色片| 日韩av中文字幕一区二区三区 | 99久久99久久免费精品蜜臀| 精品人妻一区二区三区蜜桃视频| 亚洲免费色视频| 欧美一级片免费在线观看| 欧美日本乱大交xxxxx| 人妻无码中文字幕免费视频蜜桃| 曰本色欧美视频在线| 98色花堂精品视频在线观看| 国产专区欧美专区| 日韩aaa久久蜜桃av| 综合操久久久| 久久精选视频| 乱码一区二区三区| 国产精品成人网| 日韩视频在线观看一区| 欧美一二三在线| 一级日本在线| 国产mv久久久| 日韩激情网站| 国产夫妻自拍一区| 国产在线精品一区二区三区不卡| 国产精品无码午夜福利| 夜夜揉揉日日人人青青一国产精品| 中文字幕在线网址| 亚洲精品丝袜日韩| 丁香花在线观看完整版电影| 成人激情视频在线| 精品久久国产| 国产99久久九九精品无码| 国产成人一区在线| 九九精品视频免费| 欧美日韩国产美| 黄网站在线观看| 欧美做受高潮1| 欧美a大片欧美片| 国产精品va在线观看无码| 狠狠色综合播放一区二区| 国产午夜精品福利视频| 狠狠躁天天躁日日躁欧美| 免费av一级片| 久久久久久久久综合| 66精品视频在线观看| 免费成人深夜夜行网站视频| 精品影院一区二区久久久| 特级西西人体高清大胆| 欧美午夜精品免费| www.黄在线观看| 国产精品美女久久久久av超清| 国产伦精品一区二区三区千人斩| 啊啊啊一区二区| 久久一区二区三区国产精品| 伊人手机在线视频| 亚洲美女喷白浆| 丝袜美腿诱惑一区二区三区| 日本电影一区二区三区| 玖玖国产精品视频| 免费看裸体网站| 欧美日韩一区中文字幕| 亚洲1卡2卡3卡4卡乱码精品| 91久久综合亚洲鲁鲁五月天| 久久精品影视| gogo亚洲国模私拍人体| 亚洲综合免费观看高清在线观看| 成人免费观看在线视频| 97涩涩爰在线观看亚洲| 亚洲人成网站77777在线观看| 精品久久久噜噜噜噜久久图片| 国产欧美一区二区三区沐欲| 一区二区三区黄| 久久综合色88| 久久精品66| 黄色片久久久久| 国产精品女同互慰在线看| 97精品人妻一区二区三区香蕉| 欧美成人免费观看| 97久久综合精品久久久综合| 欧美日韩在线一| 久久久另类综合| 国产精品久久久久久久免费看 | 国产在线拍揄自揄拍| 日韩电影网在线| 成人午夜毛片| 人妻激情另类乱人伦人妻| 99久久精品国产一区| 黄色av一区二区| 久久国产精品视频| 国产精伦一区二区三区| 中文字幕第21页| 亚洲欧洲综合另类| 亚洲欧洲国产综合| 国产精品自产拍高潮在线观看| 国产一区二区三区自拍| 青青草福利视频| 欧美福利电影网| 性欧美freesex顶级少妇| 亚洲一区二区在线看| 成人午夜碰碰视频| 懂色av中文字幕| 欧美日韩国产二区| av永久不卡| 亚洲av无码专区在线播放中文| 日本韩国一区二区| 欧美家庭影院| 亚洲精品一品区二品区三品区| 粉嫩嫩av羞羞动漫久久久| 亚洲午夜在线播放| 久久免费视频网| 欧美电影免费播放| 国产福利在线观看视频| 欧美精品乱码久久久久久按摩| 妞干网免费在线视频| 4444在线观看| 中文字幕一区二区视频| 亚洲人视频在线观看| 超碰人人干人人| 亚洲h在线观看|