Linux命令 test - 執(zhí)行條件表達(dá)式

2022-03-22 09:34 更新

test

執(zhí)行條件表達(dá)式。

概要

test [expr]

主要用途

  • 執(zhí)行條件表達(dá)式。

參數(shù)

文件操作符:

-a FILE    如果文件存在,則為true。
-b FILE    如果文件是塊特殊的,則為true。
-c FILE    如果文件是特殊字符,則為true。
-d FILE    如果文件是目錄,則為true。
-e FILE    如果文件存在,則為true。
-f FILE    如果文件存在并且是常規(guī)文件,則為true。
-g FILE    如果文件是set-group-id,則為true。
-h FILE    如果文件是符號(hào)鏈接,則為true。
-L FILE    如果文件是符號(hào)鏈接,則為true。
-k FILE    如果文件的粘滯位(sticky)設(shè)置了,則為true。
-p FILE    如果文件是命名管道,則為true。
-r FILE    如果您可以讀取文件,則為true。
-s FILE    如果文件存在且不為空,則為true。
-S FILE    如果文件是套接字,則為true。
-t FD      如果在終端上打開FD,則為True。
-u FILE    如果文件是set-user-id,則為true。
-w FILE    如果文件可寫,則為true。
-x FILE    如果您可以執(zhí)行文件,則為true。
-O FILE    如果文件有效地歸您所有,則為true。
-G FILE    如果文件有效地歸您的組所有,則為true。
-N FILE    如果文件自上次讀取以來已被修改,則為true。
    
FILE1 -nt FILE2    根據(jù)修改日期,如果 file1 比 file2 新,則為true。
FILE1 -ot FILE2    根據(jù)修改日期,如果 file1 比 file2 舊,則為true。
FILE1 -ef FILE2    如果 file1 為 file2 的硬鏈接,則為true。

字符串運(yùn)算符:

-z STRING              如果字符串為空,則為true。
-n STRING              如果字符串不為空,則為true。
STRING                 如果字符串不為空,則為true。
STRING1 = STRING2      如果字符串相等,則為true。
STRING1 != STRING2    如果字符串不相等,則為true。
STRING1 < STRING2      如果 STRING1 的字典排序在 STRING2 之前,則為true。
STRING1 > STRING2      如果 STRING1 在字典排序在 STRING2 之后,則為true。

其他運(yùn)算符:

-o OPTION         如果啟用了shell選項(xiàng)OPTION,則為true。
-v VAR            如果設(shè)置了shell變量VAR,則為true。
-R VAR            如果設(shè)置了shell變量VAR并且是變量引用,則為true。
!EXPR            如果expr為假,則為true。
EXPR1 -a EXPR2    如果expr1和expr2都為true,則為true。
EXPR1 -o EXPR2    如果expr1或expr2為true,則為true。
arg1 OP arg2      算術(shù)表達(dá)式測(cè)試; OP是 -eq,-ne,-lt,-le,-gt,-ge 中的一個(gè);算術(shù)表達(dá)式為真時(shí)返回true。

返回值

如果表達(dá)式執(zhí)行結(jié)果為成功時(shí)返回0,當(dāng)表達(dá)式執(zhí)行結(jié)果為失敗或給出非法參數(shù)時(shí)返回1。

例子

# 執(zhí)行條件表達(dá)式并顯示返回值。
[root@pc root]$ test ! "abc" == 123; echo $?
0

# 等價(jià)形式,注意:方括號(hào) [ 后面的空格以及方括號(hào) ] 前面的空格。
[root@pc root]$ [ ! "abc" == 123 ]; echo $?
0

[root@pc root]$ [[ ! "abc" == 123 ]]; echo $?
0

注意

  1. 該命令等價(jià)于 [。
  2. 編寫 bash 條件表達(dá)式可用內(nèi)建命令 test, [ ,組合命令 [[;
關(guān)于條件表達(dá)式可以查看這里;關(guān)于內(nèi)建命令的索引可以查看這里;關(guān)于組合命令的索引可以查看這里
  1. 該命令是bash內(nèi)建命令,相關(guān)的幫助信息請(qǐng)查看help命令。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)