基本格式:
test expression
expression為test命令構造的表示式。
這裡expression是test命令可以理解的任何有效表示式,該簡化格式將是讀者可能會踫見的最常用格式
返回值:
test命令或者返回0(真) 或者返回1(假).
test可理解的表示式型別分為四類:
1)判斷表示式
if test (表示式為真)
if test !表示式為假
test 表示式1 –a 表示式 2 兩個表示式都為真
test 表示式1 –o 表示式2 兩個表示式有乙個為真
2)判斷字串
test –n 字串 字串的長度非零
test –z 字串 字串的長度為零
test 字串1=字串 2 字串相等
test 字串1 !=字串2 字串不等
3)判斷整數
test 整數1 –eq 整數2 整數相等
test 整數 1 –ge 整數2 整數1大於等於整數2
test 整數1 –gt 整數 2 整數1大於整數2
test 整數1 –le 整數 2 整數1小於等於整數2
test 整數1 –lt 整數 2 整數1小於整數2
test 整數1 –ne 整數 2 整數1不等於整數2
4)判斷檔案
test file1 –ef file2 兩個檔案具有同樣的裝置號和i結點號
test file1 –nt file2 檔案1比檔案2 新
test file1 –ot file2 檔案1比檔案2 舊
test –b file 檔案存在並且是塊裝置檔案
test –c file 檔案存在並且是字元裝置檔案
test –d file 檔案存在並且是目錄
test –e file 檔案存在
test –f file 檔案存在並且是正規檔案
test –g file 檔案存在並且是設定了組id
test –g file 檔案存在並且屬於有效組id
test –h file 檔案存在並且是乙個符號鏈結(同-l)
test –k file 檔案存在並且設定了sticky位
test –b file 檔案存在並且是塊裝置檔案
test –l file 檔案存在並且是乙個符號鏈結(同-h)
test –o file 檔案存在並且屬於有效使用者id
test –p file 檔案存在並且是乙個命名管道
test –r file 檔案存在並且可讀
test –s file 檔案存在並且是乙個套接字
test –t fd 檔案描述符是在乙個終端開啟的
test –u file 檔案存在並且設定了它的set-user-id位
test –w file 檔案存在並且可寫
test –x file 檔案存在並且可執行
test *** 可以簡寫成 [ *** ] 的形式。
注意:在使用"["簡寫test時,左中括號後面的空格和右括號前面的空格是必需的,如果沒有空格,shell不可能辨別表示式何時開始何時結束.
也就是說
test option file
可以全部改寫成:
[ option file ]
例如:test –w file
改寫成
[ –w file ]
【示例】
//判斷第乙個引數是否為空字串,不空則列印
if test -n "$1"
then
echo "$1"
fi測試,放到檔案當中
#!/bin/sh
if test -n "$1"
then
echo "$1"
fi執行
chmod +x test.sh
./test.sh www.linuxpig.com
Linux Shell程式設計 test命令
test 命令是shell 指令碼中用來進行條件判斷的。測試選項 作 用 b 檔案 判斷該檔案是否存在,並且是否為塊裝置檔案 是塊裝置檔案為真 c 檔案 判斷該檔案是否存在,並且是否為字元裝置檔案 是字元裝置檔案為真 d 檔案 判斷該檔案是否存在,並且是否為目錄檔案 是目錄檔案為真 e 檔案 判斷該...
Linux shell 的 test 命令用法詳解
基本格式 test expression expression為test命令構造的表示式。這裡expression是test命令可以理解的任何有效表示式,該簡化格式將是讀者可能會踫見的最常用格式 返回值 test命令或者返回0 真 或者返回1 假 test可理解的表示式型別分為四類 1 判斷表示式 ...
test 和 「 test「 的區別
test 是個字串,而回車符是乙個不可見的特殊字元,只有在雙引號中才有其本來的含義。不在雙引號中,類似的特殊字元都將被shell 解釋為空格,製表符 t 也是一樣,而在單引號中 的變數替換功能被關閉。root master shell learning seq 1 512 345 root mast...