shell入門之變數測試

2021-08-14 07:26:52 字數 1627 閱讀 3358

格式: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...