test

執行條件表達式。

概要

1test [expr]

主要用途

  • 執行條件表達式。

參數

文件操作符:

 1-a FILE    如果文件存在,則爲true。
 2-b FILE    如果文件是塊特殊的,則爲true。
 3-c FILE    如果文件是特殊字符,則爲true。
 4-d FILE    如果文件是目錄,則爲true。
 5-e FILE    如果文件存在,則爲true。
 6-f FILE    如果文件存在並且是常規文件,則爲true。
 7-g FILE    如果文件是set-group-id,則爲true。
 8-h FILE    如果文件是符號鏈接,則爲true。
 9-L FILE    如果文件是符號鏈接,則爲true。
10-k FILE    如果文件的粘滯位(sticky)設置了,則爲true。
11-p FILE    如果文件是命名管道,則爲true。
12-r FILE    如果您可以讀取文件,則爲true。
13-s FILE    如果文件存在且不爲空,則爲true。
14-S FILE    如果文件是套接字,則爲true。
15-t FD      如果在終端上打開FD,則爲True。
16-u FILE    如果文件是set-user-id,則爲true。
17-w FILE    如果文件可寫,則爲true。
18-x FILE    如果您可以執行文件,則爲true。
19-O FILE    如果文件有效地歸您所有,則爲true。
20-G FILE    如果文件有效地歸您的組所有,則爲true。
21-N FILE    如果文件自上次讀取以來已被修改,則爲true。
22    
23FILE1 -nt FILE2    根據修改日期,如果 file1 比 file2 新,則爲true。
24FILE1 -ot FILE2    根據修改日期,如果 file1 比 file2 舊,則爲true。
25FILE1 -ef FILE2    如果 file1 爲 file2 的硬鏈接,則爲true。

字符串運算符:

1-z STRING              如果字符串爲空,則爲true。
2-n STRING              如果字符串不爲空,則爲true。
3STRING                 如果字符串不爲空,則爲true。
4STRING1 = STRING2      如果字符串相等,則爲true。
5STRING1 != STRING2    如果字符串不相等,則爲true。
6STRING1 < STRING2      如果 STRING1 的字典排序在 STRING2 之前,則爲true。
7STRING1 > STRING2      如果 STRING1 在字典排序在 STRING2 之後,則爲true。

其他運算符:

1-o OPTION         如果啓用了shell選項OPTION,則爲true。
2-v VAR            如果設置了shell變量VAR,則爲true。
3-R VAR            如果設置了shell變量VAR並且是變量引用,則爲true。
4!EXPR            如果expr爲假,則爲true。
5EXPR1 -a EXPR2    如果expr1和expr2都爲true,則爲true。
6EXPR1 -o EXPR2    如果expr1或expr2爲true,則爲true。
7arg1 OP arg2      算術表達式測試; OP是 -eq,-ne,-lt,-le,-gt,-ge 中的一個;算術表達式爲真時返回true。

返回值

如果表達式執行結果爲成功時返回0,當表達式執行結果爲失敗或給出非法參數時返回1。

例子

 1# 執行條件表達式並顯示返回值。
 2[root@pc root]$ test ! "abc" == 123; echo $?
 30
 4
 5# 等價形式,注意:方括號 [ 後面的空格以及方括號 ] 前面的空格。
 6[root@pc root]$ [ ! "abc" == 123 ]; echo $?
 70
 8
 9[root@pc root]$ [[ ! "abc" == 123 ]]; echo $?
100

注意

  1. 該命令等價於 [
  2. 編寫 bash 條件表達式可用內建命令 test[ ,組合命令 [[
  • 關於條件表達式可以查看這裏
  • 關於內建命令的索引可以查看這裏
  • 關於組合命令的索引可以查看這裏
  1. 該命令是bash內建命令,相關的幫助信息請查看help命令。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: