Linux shell 的 test 命令用法詳解

2021-06-07 14:32:54 字數 2637 閱讀 4464

基本格式:

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...