成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

玩轉(zhuǎn)Bash腳本:test測(cè)試語(yǔ)句

運(yùn)維 系統(tǒng)運(yùn)維
整數(shù)的test就是大小關(guān)系的比較,與其他語(yǔ)言不同,Bash中沒(méi)有使用<,>來(lái)做大于等于號(hào),而是使用了減號(hào)開(kāi)頭的選項(xiàng)來(lái)比較……

總第1篇

test

test就是測(cè)試的意思,常用在流程控制語(yǔ)句中作為條件。下面做一下介紹。

測(cè)試整數(shù)

整數(shù)的test就是大小關(guān)系的比較,與其他語(yǔ)言不同,Bash中沒(méi)有使用<,>來(lái)做大于等于號(hào),而是使用了減號(hào)開(kāi)頭的選項(xiàng)來(lái)比較。

假如有兩個(gè)整數(shù)變量a和b。那么比較a是否大于b,就寫(xiě)作 test $a -gt $b ,符合條件返回真值1。實(shí)際在終端里測(cè)試的時(shí)候可以這樣寫(xiě)來(lái)看test語(yǔ)句的執(zhí)行結(jié)果

  1. test $a -gt $ $b && echo “Yes”   

如果條件成立打印 Yes,不成立不打印。

全部的關(guān)系比較選項(xiàng)為:

選項(xiàng) 描述 英文全稱(chēng)
eq 等于 equal
gt 大于 greater than
lt 小于 less than
ne 不等于 not equal
ge 大于等于 greater or equal
le 小于等于 less or equal

Bash腳本,或者說(shuō)Shell終端中的各種命令都有很豐富的選項(xiàng),所以我建議在記憶的時(shí)候要去記憶它的英文全稱(chēng),理解了它的含義,這樣反而會(huì)降低記憶的難度。

測(cè)試字符串

字符串的測(cè)試無(wú)非就是包括,判斷兩個(gè)字符串是否相等,判斷一個(gè)字符串是否為空。

假設(shè)str1和str2是持有兩個(gè)字符串的變量(直接測(cè)試兩個(gè)字符串,而非字符串變量時(shí),則不加$,這很好理解)。具體用法為:

test $str1 = $str2 測(cè)試是否相等,相等返回1
test $str1 != $str2 測(cè)試是否不等,不等返回1
test $str1 \< $str2 如果str1的字典序在str2之前,則返回1
test $str1 \> $str2 如果str1的字典序在str2之后,則返回1
test $str1 如果不為空返回1
test -n $str1 如果不為空返回1
test -z $str1 如果是空串,返回1

關(guān)于字典序的那兩個(gè)比較,其實(shí)就是大于號(hào) > 和小于號(hào) <。因?yàn)閎ash中這兩個(gè)符號(hào)有重定向的意思,所以這里要使用反斜杠\ 轉(zhuǎn)義。

選項(xiàng)-n是 nonzero 的縮寫(xiě)。選項(xiàng)-z是 zero 的縮寫(xiě)。這樣好記憶了吧

測(cè)試文件

測(cè)試文件需要用到大量的選項(xiàng),這里我只寫(xiě)一個(gè)常用的,其他的大家自行 man test

針對(duì)單個(gè)文件
 

選項(xiàng)

描述
d 是否為目錄
f 是否為普通文件
x 是否有執(zhí)行權(quán)限
r 是否有讀權(quán)限
w 是否寫(xiě)讀權(quán)限
e 是否存在
s 文件大小是否大于0
c 是否為字符設(shè)備文件
b 是否為塊設(shè)備文件

以上條件在成立的時(shí)候返回真值1。具體用法比如:

  1. 01.test -f hello.c    
  2. 02.test -d /home    
  3. 03....    

針對(duì)兩個(gè)文件

用法 描述
test file1 -nt file2 測(cè)試file1的修改時(shí)間是不是比f(wàn)ile2 new(晚)
test file1 -ot file2 測(cè)試file1的修改時(shí)間是不是比f(wàn)ile2 old(早)
test file1 -ef file2 測(cè)試兩者是相同的設(shè)備和具有相同的結(jié)點(diǎn)(inode)數(shù)

同樣的,若是條件成立則返回真值1。注意這里的file1,file2就是文件名的字符串了。

  1. 01.#可以直接    
  2. 02.test a.c -nt b.c    
  3. 03.#或者是    
  4. 04.a=a.c    
  5. 05.b=b.c    
  6. 06.test $a -nt $b    

不再細(xì)表。

邏輯運(yùn)算

邏輯運(yùn)算就是與或非。

  • -a 邏輯與
  • -o 邏輯或
  • ! 邏輯非

用法如:

  1. 01.test $a -lt $b -a $a -gt $c    
  2. 02.test $a -lt $b -o $a -gt $c    
  3. 03.test ! -d sleep.sh && echo Yes #如果sleep.sh不是目錄,就打印Yes   

其實(shí)完整版是這樣:

  1. 01.test $a -lt $b -a test $a -gt $c    
  2. 02.test $a -lt $b -o test $a -gt $c     

簡(jiǎn)化版test

在讀完這一部分后,你可能會(huì)驚呼,怎么不早點(diǎn)告訴我。哈哈。

其實(shí)以上所有的test命令都可以用方括號(hào)替換。比如

test -f hello.c

可以換成

[ -f hello.c ]

怎么樣,很方便吧。注意的是,方括號(hào)和表達(dá)式前后各有一個(gè)空格間隔哦。不要丟掉。實(shí)際也就是 [空格-f hello.c空格]

其他注意的地方是方括號(hào)的邏輯表達(dá)式,比如

test $a -lt $b -a $a -gt $c

可以轉(zhuǎn)化為

[ $a -lt $b -a $a -lt $c ]

或者分開(kāi)作為兩條語(yǔ)句

[ $a -lt $b -a ]&&[ $a -lt $c ]

這個(gè)&&并無(wú)什么特別之處,并非方括號(hào)運(yùn)算所獨(dú)有。此處就是當(dāng)前面語(yǔ)句為真時(shí),接著執(zhí)行后面的語(yǔ)句。所有的Bash語(yǔ)句都可以用&&或||連接。

原文鏈接:http://blog.csdn.net/guodongxiaren/article/details/38014669

責(zé)任編輯:牛小雨 來(lái)源: Jelly先生的博客
相關(guān)推薦

2022-11-23 08:14:42

bash 腳本test 命令

2020-09-11 16:00:40

Bash單元測(cè)試

2021-03-11 21:30:43

BATSBash軟件開(kāi)發(fā)

2022-03-30 09:32:32

BashtestLinux

2019-06-17 08:00:55

multipassbash腳本

2023-08-23 12:12:45

BashLinux

2022-05-30 10:31:34

Bash腳本Linux

2013-05-27 13:37:06

2021-09-14 13:00:17

nodejsbash前端

2021-08-30 12:45:37

nodejsbash前端

2010-01-20 10:40:44

C++Test

2022-12-01 08:10:49

Bash腳本參數(shù)

2021-08-11 08:00:00

腳本測(cè)試開(kāi)發(fā)

2022-12-09 07:58:52

Bash條件語(yǔ)句

2017-04-13 10:51:17

Bash建議

2021-02-01 11:01:18

Bash腳本Linux

2021-12-30 10:26:37

Bash Shell腳本文件命令

2022-02-28 11:02:53

函數(shù)Bash Shell語(yǔ)句

2022-01-20 16:43:38

Bash 腳本ShellLinux

2020-10-13 19:04:58

Bash信號(hào)捕獲Shell腳本
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品国产精品国自产在线 | 日韩一区二区在线观看视频 | 久久久久久高潮国产精品视 | 欧洲一区二区视频 | 亚洲日本一区二区三区四区 | 日韩在线中文字幕 | 日韩精品一区二 | 国产精品一区二区欧美 | 情侣黄网站免费看 | 盗摄精品av一区二区三区 | 国产精品成人免费 | 日本精品一区二区三区在线观看 | 三级视频在线观看电影 | 国产精品精品视频一区二区三区 | 国产精品美女久久久久aⅴ国产馆 | 91在线观看网址 | 成人精品一区二区三区 | 色av一区| av在线一区二区三区 | 久久精品国产一区 | 国产一区二区 | 国产亚洲精品精品国产亚洲综合 | 日本黄色免费视频 | 久久久www| 午夜免费av | 麻豆精品久久 | 一区二区播放 | 免费一级欧美在线观看视频 | 自拍偷拍第一页 | 老熟女毛片 | 精品一区二区免费视频 | 久久久区 | 91大片| 日韩在线观看视频一区 | 欧美精三区欧美精三区 | 中文字幕亚洲视频 | 超碰在线97国产 | 国产中文字幕在线 | 国产999精品久久久久久 | 在线成人av | 先锋资源在线 |