shell中自帶的一些測試指令, 下表列出這些測試指令的含義以及是否可用於 test命令, bash, ksh.
開關
test
bash
ksh
定義
-a file
支援支援
只是檔案存在
-b file
支援支援
支援檔案存在, 並且是乙個類似於 /dev 下的磁碟裝置之類的塊檔案
-c file
支援支援
支援檔案存在, 並且是乙個類似於 /dev 下的tty裝置之類的字元檔案
-d file
支援支援
支援檔案存在, 並且是乙個標準目錄
-e file
支援支援
支援只是檔案存在
-f file
支援支援
支援檔案存在, 並且是乙個類似於平面檔案的標準檔案
-g file
支援支援
支援檔案存在, 並且是乙個set-group-id. 這是指對檔案可執行性的使用者有效組進行改變的檔案許可
-g file
支援支援
支援檔案存在, 並且它的組所有權是使用者的有效組id
-h file
支援支援
支援檔案存在, 並且它是乙個符號鏈結. 和 -l 一樣
-k file
支援支援
支援檔案存在, 並且它粘著位設定. 這意味著只有檔案的所有者或者目錄的所有者可以刪除檔案
-l string
支援和類似於 /usr/bin/test -l string -gt 5 && echo 的數字值, 比較 string 長度
-l file
支援支援
支援檔案存在, 並且它是乙個符號鏈結. 和 -h 一樣
-n string
支援支援
支援string 的長度非零
-n file
支援支援
檔案存在, 但是自從最近一次讀入之後, 已經被修改
-o option
支援支援
支援如果 shell 的 option 被開啟, 返回真, 例如 set -x
-o file
支援支援
支援檔案存在, 並且它的所有者由有效的使用者id決定
-p file
支援支援
支援檔案存在, 並且它是乙個命名管道 (or fifo)
-r file
支援支援
支援檔案存在, 並且可讀
-s file
支援支援
支援檔案存在, 並且它的大小大於 0 位元組
-s file
支援支援
支援檔案存在, 並且它是乙個 socket
-t [fd]
支援支援
支援在乙個終端開啟 fd(檔案描述符), 預設是 stdout
-u file
支援支援
支援檔案存在, 並且 set-user-id 被設定
-w file
支援支援
支援檔案存在, 並且可寫
-x file
支援支援
支援檔案存在, 並且可執行
-z string
支援支援
支援string 的長度為 0
shell中的特殊引數是shell的內部變數, 要用 字首$ 來使用.
比如 echo $? 就是獲取 shell內部變數 "?" 的值.
內容變數一覽:
引數
定義*
從 1 開始, 完成所有位置變數列表. 如果被雙引號引上, 成為有 ifs (內部檔案分隔符)值的第乙個字元分割的單詞
@從 1 開始, 完成所有位置變數列表. 如果被雙引號引上, 將每乙個位置引數變成單個詞
#以十進位制表示的位置引數數目
?最後或者最近乙個前台任務的返回碼. 如果任務被乙個訊號殺掉, 返回值為 128 加上訊號的值. 例如: 標準kill訊號值是 15, 那麼返回值就是 143
-所有傳送給 shell 的標誌, 或者 set 命令提供的標誌
$shell 程序id. 如果在子shell中, 它被擴充套件為當前shell的值, 而不是子shell的值
!最近被放到後台執行的命令的程序id
_擴充套件為前乙個命令的最後乙個引數
0擴充套件為shell或者shell指令碼的名字
1…9提供給shell, 函式或者指令碼的位置引數. 比 9 大的值可以用 $ 來訪問
測試開發必備技能之shell指令碼程式設計二 多測師
shell指令碼練習 1,啟動 關閉 重啟 檢視狀態nginx指令碼 root localhost xiaoshu5 vim xiaoshu5.sh bin bash if 1 start then service nginx start echo start elif 1 stop then se...
軟體測試開發和軟體測試的區別
按照字面意思理解,大家或許會覺得測試開發是指既能開發產品又能測試產品的 技術王者 但其實並非如此,今天我們就來看看這兩者到底有什麼區別。什麼是軟體測試?顧名思義,就是在規定的條件下對乙個產品或程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。測試工程師主要工作內容是...
shell指令碼中》 dev null 和 2 1
shell中可能經常能看到 dev null 2 1 命令的結果可以通過 的形式來定義輸出 dev null 代表空裝置檔案 代表重定向到 例如 echo 123 home 123.txt 1 表示stdout標準輸出,系統預設值是1,所以 dev null 等同於 1 dev null 2 表示s...