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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bash shell test条件测试[[ ]]和[ ]异同小结

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bash shell test条件测试[[ ]]和[ ]异同小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

test?命令非常強大,但是很難滿足其轉義需求以及字符串和算術比較之間的區別。



大于 小于 等于 不等于
if [ "$a" -gt "$b" ] if [ "$a" -lt "$b" ] if [ "$a" -eq "$b" ] if [ "$a" -ne "$b" ]
if [[ "$a" -gt "$b" ]] if [[ "$a" -lt "$b" ]] if [[ "$a" -eq "$b" ]] if [[ "$a" -ne "$b" ]]
if ((“$a” > “$b”)) if ((“$a” < “$b”)) if ((“$a” == “$b”)) if ((“$a” != “$b”))


字符串比較

大于 小于 等于 不等于
if [ "$a" \> "$b" ] if [ "$a" \< "$b" ] if [ "$a" = "$b" ]
if [ "$a" == "$b" ]
if [ "$a" != "$b" ]
if [[ "$a" > "$b" ]] if [[ "$a" < "$b" ]] if [[ "$a" = "$b" ]]
if [[ "$a" == "$b" ]]
if [[ "$a" != "$b" ]]


[[ ]] and []
功能[[ ]][ ]例子
字符串比較>\>?-
=(or ==)=?-
!=!=?-
表達式組合&&-a[[ -n $var && -f $var ]] && echo “$var is a file”
||-o?-


模式匹配
(Pattern matching)


=(or ==)木有[[ $name = "a*" ]] -> the string “a*”
正則匹配(RegularExpression matching)=~木有[[ $(date) =~ ^Fri\ ...\ 13 ]] && echo “It’s Friday the 13th!”


特性

?

例子

文件或文件夾存在

-e

[[?-e?$config?]]?&&?echo?”config?file?exists:?$config”

文件新舊比較

-nt/-ot

[[?$file0?-nt?$file1?]]?&&?echo?”$file0?is?newer?than?$file1″

同一個文件

-ef

[[?$input?-ef?$output?]] \?&&?{?echo?”will?not?overwrite?input?file:?$input”;?exit?1;?}?

否定

!

-


邏輯組合判斷的一些例子:
if [ $condition1 ] && [ $condition2 ]
if [ $condition1 -a $condition2 ]
if [[ $condition1 && $condition2 ]]
if [ $condition1 ] || [ $condition2 ]
if [ $condition1 -o $condition2 ]
if [[ $condition1 || $condition2 ]] # Also works.
#The &&, ||, operators work within a [[ ]] test, despite giving an error within a [ ] construct.



大于 小于 等于 不等于
if [ "$a" -gt "$b" ] if [ "$a" -lt "$b" ] if [ "$a" -eq "$b" ] if [ "$a" -ne "$b" ]
if [[ "$a" -gt "$b" ]] if [[ "$a" -lt "$b" ]] if [[ "$a" -eq "$b" ]] if [[ "$a" -ne "$b" ]]
if ((“$a” > “$b”)) if ((“$a” < “$b”)) if ((“$a” == “$b”)) if ((“$a” != “$b”))


字符串比較

大于 小于 等于 不等于
if [ "$a" \> "$b" ] if [ "$a" \< "$b" ] if [ "$a" = "$b" ]
if [ "$a" == "$b" ]
if [ "$a" != "$b" ]
if [[ "$a" > "$b" ]] if [[ "$a" < "$b" ]] if [[ "$a" = "$b" ]]
if [[ "$a" == "$b" ]]
if [[ "$a" != "$b" ]]


[[ ]] and []
功能[[ ]][ ]例子
字符串比較>\>?-
=(or ==)=?-
!=!=?-
表達式組合&&-a[[ -n $var && -f $var ]] && echo “$var is a file”
||-o?-


模式匹配
(Pattern matching)


=(or ==)木有[[ $name = "a*" ]] -> the string “a*”
正則匹配(RegularExpression matching)=~木有[[ $(date) =~ ^Fri\ ...\ 13 ]] && echo “It’s Friday the 13th!”


特性

?

例子

文件或文件夾存在

-e

[[?-e?$config?]]?&&?echo?”config?file?exists:?$config”

文件新舊比較

-nt/-ot

[[?$file0?-nt?$file1?]]?&&?echo?”$file0?is?newer?than?$file1″

同一個文件

-ef

[[?$input?-ef?$output?]] \?&&?{?echo?”will?not?overwrite?input?file:?$input”;?exit?1;?}?

否定

!

-


邏輯組合判斷的一些例子:
if [ $condition1 ] && [ $condition2 ]
if [ $condition1 -a $condition2 ]
if [[ $condition1 && $condition2 ]]
if [ $condition1 ] || [ $condition2 ]
if [ $condition1 -o $condition2 ]
if [[ $condition1 || $condition2 ]] # Also works.
#The &&, ||, operators work within a [[ ]] test, despite giving an error within a [ ] construct.


總結

以上是生活随笔為你收集整理的bash shell test条件测试[[ ]]和[ ]异同小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。