格式:test 測試條件
字串測試:
注意空格:
test str1 == str2 測試字串是否相等
test str1 != str2 測試字串是否不相等
test str1 測試字串是否不為空
test -n str1 測試字串是否不為空
test -z str1 測試字串是否為空
整數測試
test int1 -eq int2 測試整數是否相等
test int1 -ge int2 測試int1是否》=int2
test int1 -gt int2 測試int1是否》int2
test int1 -le int2 測試int1是否<=int2
test int1 -lt int2 測試int1是否test int1 -ne int2 測試兩個數是否不相等
檔案測試
test -d file 指定檔案是否為目錄
test -f file 指定檔案是否為常規檔案
test -x file 指定檔案是否可執行
test -r file 指定檔案是否可讀
test -w file 指定檔案是否可寫
test -a
file 指定檔案是否存在
test -s file 指定檔案大小是否非0
測試語句一般不單獨使用,一般作為if語句的測試條件,如:
if test "hello" == "hello" ;then
commands....
fi上面語句也可簡化為(注意與"之間的空格)
if [ "hello" == "hello" ];then
....
看一段**:
#!/bin/bash
if test "hello" == "hello" ;then
echo
"equals"
else
echo
"not equals"
fiif test -z "" ;then
echo
"str is null"
fiif test -n "" ;then
echo
"str is not null"
fiif test "9" ;then
echo
"not null"
else
echo
"null"
fi#easy way
if [ "hello" == "hello" ];then
echo
"equals"
else
echo
"not equals"
fiif [ -f /root/test/test1 ];then
echo
"test1 is a file"
elif [ -d /root/test/test1 ];then
echo
"test1 is a dir"
else
echo
"i don't know the result"
fi
Shell基礎之 變數 比較 測試
一 變數 環境變數 位置變數 預定義變數 1 環境變數 env 檢視環境變數2 位置變數 vi location.sh bin bash sum expr 1 2 echo 1 2 sum location 12 34 則12為第乙個位置變數賦值為 1,32為第二個為 2。location為預定義變...
Shell之變數操作
1.定義變數 為了避免與環境變數衝突,一般用小寫 如pp mydql,kdkfeof 第二賦值方案 呼叫變數使用 符號 變數疊加 2.輸出採用echo,如上圖所示 3.變數分類 自定義變數和環境變數。4.檢視 set 檢視所有變數及其值 5.刪除變數 unset 變數名,如 6.作用範圍 自定義變數...
Shell指令碼之 變數
與編譯型語言不同,shell指令碼是一種解釋型語言。執行這類程式時,直譯器 interpreter 需要讀取我們編寫的源 source code 並將其轉換成目標 object code 再由計算機執行。linux預設的指令碼解析器是bash。參考資料 第乙個shell指令碼 下面演示我們的第乙個s...