国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
shell中if做比較

比較兩個字符串是否相等的辦法是:

    if [ "$test"x = "test"x ]; then

    這里的關(guān)鍵有幾點:

    1 使用單個等號

    2 注意到等號兩邊各有一個空格:這是unix shell的要求

    3 注意到"$test"x最后的x,這是特意安排的,因為當(dāng)$test為空的時候,上面的表達(dá)式就變成了x = testx,顯然是不相等的。而如果沒有這個x,表達(dá)式就會報錯:[: =: unary operator expected

    

    二元比較操作符,比較變量或者比較數(shù)字.注意數(shù)字與字符串的區(qū)別.

    整數(shù)比較

    -eq 等于,如:if [ "$a" -eq "$b" ]

    -ne 不等于,如:if [ "$a" -ne "$b" ]

    -gt 大于,如:if [ "$a" -gt "$b" ]

    -ge 大于等于,如:if [ "$a" -ge "$b" ]

    -lt 小于,如:if [ "$a" -lt "$b" ]

    -le 小于等于,如:if [ "$a" -le "$b" ]

     大于(需要雙括號),如:(("$a" > "$b"))

    >= 大于等于(需要雙括號),如:(("$a" >= "$b"))

    小數(shù)據(jù)比較可使用AWK

    字符串比較

    = 等于,如:if [ "$a" = "$b" ]

    == 等于,如:if [ "$a" == "$b" ],與=等價

     注意:==的功能在[[]]和[]中的行為是不同的,如下:

     1 [[ $a == z* ]] # 如果$a以"z"開頭(模式匹配)那么將為true

     2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么結(jié)果為true

     3

     4 [ $a == z* ] # File globbing 和word splitting將會發(fā)生

     5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么結(jié)果為true

     一點解釋,關(guān)于File globbing是一種關(guān)于文件的速記法,比如"*.c"就是,再如~也是.

     但是file globbing并不是嚴(yán)格的正則表達(dá)式,雖然絕大多數(shù)情況下結(jié)構(gòu)比較像.

    != 不等于,如:if [ "$a" != "$b" ]

     這個操作符將在[[]]結(jié)構(gòu)中使用模式匹配.

     大于,在ASCII字母順序下.如:

     if [[ "$a" > "$b" ]]

     if [ "$a" \> "$b" ]

     注意:在[]結(jié)構(gòu)中">"需要被轉(zhuǎn)義.

     具體參考Example 26-11來查看這個操作符應(yīng)用的例子.

    -z 字符串為"null".就是長度為0.

    -n 字符串不為"null"

     注意:

     使用-n在[]結(jié)構(gòu)中測試必須要用""把變量引起來.使用一個未被""的字符串來使用! -z

     或者就是未用""引用的字符串本身,放到[]結(jié)構(gòu)中。雖然一般情況下可

     以工作,但這是不安全的.習(xí)慣于使用""來測試字符串是一種好習(xí)慣.

if判斷式
if [ 條件判斷一 ] && (||) [ 條件判斷二 ]; then
elif [ 條件判斷三 ] && (||) [ 條件判斷四 ]; then
else
   執(zhí)行第三段內(nèi)容程式
fi

例如:

 

root@Bizbox:~# a=0root@Bizbox:~# b=0root@Bizbox:~# c=5         root@Bizbox:~# if [ $a = 0 -a $b = 0 ]&&[ $c != 0 ]; then> echo success> fisuccess

if 使用的表達(dá)式

Primary 意義
[ -a 文件 ] 如果文件存在為真。
[ -b 文件 ] 如果 文件 存在 而且 是一個 塊-特殊 文件為真。
[ -c 文件 ] 為真 如果 文件 存在 而且 是一個 字-特殊 文件。

 

[ -d 文件 ] 為真 如果 文件 存在 而且 是一個 目錄。
[ -e 文件 ] 為真 如果 文件 存在。
[ -f 文件 ] 為真 如果 文件 存在 而且 是一個 普通 文件。
[ -g 文件 ] 為真 如果 文件 存在 而且 已經(jīng)設(shè)置了他的 SGID 位。
[ -h 文件 ] 為真 如果 文件 存在 而且 是一個 符號連接。
[ -k 文件 ] 為真 如果 文件 存在 而且 他的粘住位已經(jīng)設(shè)置。
[ -p 文件 ] 為真 如果 文件 存在 而且 是一個 已經(jīng)命名的管道 (F 如果O)。
[ -r 文件 ] 為真 如果 文件 存在 而且 是可讀的。
[ -s 文件 ] 為真 如果 文件 存在 而且 比零字節(jié)大。
[ -t FD ] 為真 如果 文件 文件描述符已經(jīng)打開 而且 指向一個終端。
[ -u 文件 ] 為真 如果 文件 存在 而且 已經(jīng)設(shè)置了他的 SUID (set user ID)位。
[ -w 文件 ] 為真 如果 文件 為真 如果 文件 存在 而且 是可寫的。
[ -x 文件 ] 為真 如果 文件 存在 而且 是可執(zhí)行的。
[ -O 文件 ] 為真 如果 文件 存在 而且 屬于有效用戶ID。
[ -G 文件 ] 為真 如果 文件 存在 而且 屬于有效組ID。
[ -L 文件 ] 為真 如果 文件 存在 而且 是一個 符號連接。
[ -N 文件 ] 為真 如果 文件 存在 而且 has been mod 如果ied since it was last read。
[ -S 文件 ] 為真 如果 文件 存在 而且 是一個 socket。
[ 文件1 -nt 文件2 ] 為真 如果 文件1 has been changed more recently than 文件2, or 如果
文件1 存在 而且
文件2 does not。
[ 文件1 -ot 文件2 ] 為真 如果 文件1 比 文件2 舊, 或者 文件2 存在而且 文件1 不存在。
[ 文件1 -ef 文件2 ] 為真 如果 文件1 而且 文件2 refer to the same device 而且 inode
numbers。
[ -o 選項名 ] 為真 如果 shell 選項 "選項名" 開啟。
[ -z STRING ] 為真 如果 "STRING"的長度是零。
[ -n STRING ] 或者 [ STRING ] 為真 "STRING"的長度是非零值。
[ STRING1 == STRING2 ] 如果兩個字符串相等為真。 "=" may be used instead of "==" for
strict POSIX compliance。
[ STRING1 != STRING2 ] 為真 如果 兩兩個字符串不相等。
[ STRING1 < STRING2 ] 為真 如果 "STRING1" sorts before "STRING2" lexicographically in the
current locale。
[ STRING1 > STRING2 ] 為真 如果 "STRING1" sorts after "STRING2" lexicographically in the
current locale。
[ ARG1 OP ARG2 ]
"OP" 是 -eq, -ne, -lt, -le, -gt or -ge 其中一個。 These arithmetic binary operators
return 為真 如果 "ARG1" is equal to, not equal to, less than, less than or equal to, greater
than, or greater than or equal to "ARG2", respectively。 "ARG1" 而且 "ARG2" are
integers。
表達(dá)式可以借以下操作符組合起來, listed in decreasing order of precedence:
操作符效果
[ ! EXPR ] 如果EXPR 為假則為真。
[ ( EXPR ) ] 返回EXPR 的值。 這樣可以用來忽略正常的操作符優(yōu)先級。

 

[ 表達(dá)式1 -a 表達(dá)式2 ] 如果表達(dá)式1 而且表達(dá)式2 同時為真則為真 。
[ 表達(dá)式1 -o 表達(dá)式2 ] 如果表達(dá)式1 或者表達(dá)式2 其中之一為真則為真。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux下的shell編程入門 (2)
【awk】awk語法(小結(jié))
linux shell 算術(shù)運(yùn)算{expr、bc、dc、(( ))和[ ]}
linux中shell截取字符串方法總結(jié)
linux中的(),(()),[],[[]],{}的作用
Linux中編寫Shell腳本
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服