日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

BASH 比较运算小结[转载 小蜗牛五二]

發(fā)布時(shí)間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BASH 比较运算小结[转载 小蜗牛五二] 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

版權(quán)聲明: 原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。否則將追究法律責(zé)任。http://snailwarrior.blog.51cto.com/680306/154788
【小蝸牛五二無(wú)聊之作 】 網(wǎng)絡(luò)上能找到的相關(guān)資料太多了,也太繁雜,但有些人還整理得不錯(cuò),下面根據(jù)自己的偏好再梳理一下,有些是自己對(duì)照著man手冊(cè)翻譯的,下面的例子都是自己編造自己測(cè)試OK,都是比較實(shí)用的東西,方便自己日后參考。 1、算術(shù)運(yùn)算比較運(yùn)算符(bash自身不能比較浮點(diǎn)數(shù)) ? -eq 等于????????? [ $num1 -eq $num2 ]
-ne 不等于?????? [ 100?? -ne $num1 ]
-lt 小于?????????? [ 100?? -lt `expr $num1 + $num2` ]
-le 小于或等于?? [ 100?? -le `expr $num1 /* $num2` ]
-gt 大于????????? ?[ 100?? -gt `expr $num1 / $num2` ]
-ge 大于或等于?? [ 100?? -ge `expr $num1 % $num2` ] 2、字符串比較運(yùn)算符 ?? -z string? 如果 string 長(zhǎng)度為零,則為真? [ -z "`ps aux | grep mysql`" ]
-n string? 如果 string 長(zhǎng)度非零,則為真? [ -n "$string" ] ????????????? 【注意】 $string 一定要放在雙引號(hào)里面 "$string",否則使用 -n -z 的結(jié)果都為真! string1 != string2? 如果 string1 與 string2 不同,則為真? [ "$str1" != "Snail" ]
string1 == string2? 如果 string1 與 string2 相同,則為真? [ "$str1" == "$str2" ]
??????????????????? (上面用一個(gè) = 也可以,在嚴(yán)格的 POSIX 兼容下使用)
string1 < string2?? 如果 string1 按字典順序比較小于 string2,則為真
string1 > string2?? 如果 string1 按字典順序比較大于 string2,則為真 3、文件比較運(yùn)算符? ? -a filename? 如果 filename 存在,則為真?????????????????? [ -e $HOME/.bashrc ]
-e filename? (同上)
-b filename? 如果 filename 存在,并且是塊文件,則為真???? [ -e /dev/loop0 ]
-c filename? 如果 filename 存在,并且是字符文件,則為真?? [ -e /dev/ttyS0 ]
-d filename? 如果 filename 存在,并且為目錄,則為真?????? [ -d /home/snail ]
-f filename? 如果 filename 存在,并且為常規(guī)文件,則為真?? [ -f /dev/ttyS0 ]
-g filename? 如果 filename 存在,并且為set-group-id,為真 [ -f $HOME/ak47 ]
-h filename? 如果 filename 存在,并且為符號(hào)連接,則為真?? [ -h /bin/vi ]
-L filename? (同上)
-k filename? 如果 filename 存在,并且設(shè)置了sticky位,為真 [ -k /bin/ping ]
-p filename? 如果 filename 存在,并且為有名管道(FIFO),真 [ -p /tmp/pipe ]
-r filename? 如果 filename 存在,并且可讀,則為真???????? [ -r /etc/passwd ]
-s filename? 如果 filename 存在,并且大小不為零,為真???? [ -s ./none-zero ]
-u filename? 如果 filename 存在,并且為set-user-id,為真? [ -f $HOME/ak47 ]? ?????
-w filename? 如果 filename 存在,并且可寫(xiě),則為真???????? [ -w /var/log/mail ]
-x filename? 如果 filename 存在,并且可執(zhí)行,則為真?????? [ -x ./start.sh ] 下面這些不常用的: -t fd??????? 如果文件描述符被打開(kāi)并指向一個(gè)終端,則為真?? [ -t /proc/1/fd/10 ] ????????????? 【提示】 在 /proc/進(jìn)程號(hào)/fd 下可以找到文件描述符:)
-O filename? 如果 filename 存在,并且被有效用戶(hù)ID所擁有,則為真
-G filename? 如果 filename 存在,并且被有效組ID所擁有,則為真
-S filename? 如果 filename 存在,并且為一個(gè)socket,則為真 [ -S /tmp/mysql.sock ]
-N filename? 如果 filename 存在,并且在上次讀取后被修改過(guò),則為真
-o optname?? 如果 shell 選項(xiàng) optname 被開(kāi)啟,則為真 ????????????? 【提示】 使用 set -o 來(lái)查看 file1 -nt file2? 如果 file1 比 file2 新,或者 file1 存在 file2 不存在,則為真
file1 -ot file2? 如果 file1 比 file2 舊,或者 file2 存在 file1 不存在,則為真
file1 -ef file2? 如果 file1 和 file2 都指向同樣的設(shè)備(device)和索引節(jié)點(diǎn)號(hào)(inode numbers),則為真 ????????????? 【提示】 查看文件的索引節(jié)點(diǎn)可以用 ls -i 選項(xiàng) ------------------------------------------------------------------------------------------ 趙小蝸牛 QQ:?755721501 E-mail:?snailwarrior@qq.com 在不斷奉獻(xiàn)中謀求生存發(fā)展、打造自己的優(yōu)秀品質(zhì),用人性最本質(zhì)最動(dòng)人的一面“營(yíng)銷(xiāo)”自己!

本文出自 “小蝸牛技術(shù)之家 ” 博客,請(qǐng)務(wù)必保留此出處http://snailwarrior.blog.51cto.com/680306/154788

總結(jié)

以上是生活随笔為你收集整理的BASH 比较运算小结[转载 小蜗牛五二]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。