Linux Shell指令碼程式設計 比較運算子

2021-08-27 13:12:14 字數 2505 閱讀 5372

運算子 描述

示例檔案比較運算子 -e

filename 如果

filename

存在,則為真

[ -e /var/log/syslog ]

-dfilename 如果

filename

為目錄,則為真

[ -d /tmp/mydir ]

-ffilename 如果

filename

為常規檔案,則為真

[ -f /usr/bin/grep ]

-lfilename 如果

filename

為符號鏈結,則為真

[ -l /usr/bin/grep ]

-rfilename 如果

filename

可讀,則為真

[ -r /var/log/syslog ]

-wfilename 如果

filename

可寫,則為真

[ -w /var/mytmp.txt ]

-xfilename 如果

filename

可執行,則為真

[ -l /usr/bin/grep ]

filename1

-ntfilename2 如果

filename1

比filename2

新,則為真

[ /tmp/install/etc/services -nt /etc/services ]

filename1

-otfilename2 如果

filename1

比filename2

舊,則為真

[ /boot/bzimage -ot arch/i386/boot/bzimage ]

字串比較運算子

(請注意引號的使用,這是防止空格擾亂**的好方法)

-zstring 如果

string

長度為零,則為真

[ -z "$myvar" ]

-nstring 如果

string

長度非零,則為真

[ -n "$myvar" ]

string1

=string2 如果

string1

與string2

相同,則為真

[ "$myvar" = "one two three" ]

string1

!=string2 如果

string1

與string2

不同,則為真

[ "$myvar" != "one two three" ]

算術比較運算子

num1

-eqnum2 等於

[ 3 -eq $mynum ]

num1

-nenum2

不等於[ 3 -ne $mynum ]

num1

-ltnum2 小於

[ 3 -lt $mynum ]

num1

-lenum2

小於或等於

[ 3 -le $mynum ]

num1

-gtnum2 大於

[ 3 -gt $mynum ]

num1

-genum2

大於或等於

[ 3 -ge $mynum ]

測試命令

test命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案3個方面的測試,其測試符和相應的功能分別如下。

(1)數值測試:

-eq 等於則為真。

-ne 不等於則為真。

-gt 大於則為真。

-ge 大於等於則為真。

-lt 小於則為真。

-le 小於等於則為真。

(2)字串測試:

= 等於則為真。

!= 不相等則為真。

-z字串 字串長度偽則為真。

-n字串 字串長度不偽則為真。

(3)檔案測試:

-e檔名 如果檔案存在則為真。

-r檔名 如果檔案存在且可讀則為真。

-w檔名 如果檔案存在且可寫則為真。

-x檔名 如果檔案存在且可執行則為真。

-s檔名 如果檔案存在且至少有乙個字元則為真。

-z檔名 檔案存在且長度為0返回真。

-d檔名 如果檔案存在且為目錄則為真。

-f檔名 如果檔案存在且為普通檔案則為真。

-c檔名 如果檔案存在且為字元型特殊檔案則為真。

-b檔名 如果檔案存在且為塊特殊檔案則為真

-o檔名 如果檔案屬於使用者本人返回真。

《Linux shell指令碼程式設計入門》

linux shell指令碼程式設計入門 linuxos在伺服器以及近來引發熱議的嵌入式系統中都得到廣泛應用,linuxshell指令碼程式設計入門 介紹的就是該程式必備的shell程式設計要素。尤其還收錄了現在門戶 企業等使用的主流套件centos communityenterpriseopera...

Linux shell指令碼程式設計基礎

把指令碼路徑寫入 path變數。帶上路徑執行,需要執行許可權。bash bash後跟上指令碼,該方法指令碼不需要執行許可權也能執行。bash 讀入指令碼內容,通過管道符交給bash執行。當前主機遠端呼叫其他主機的指令碼。1.宣告shell型別 bin bash 2.變數 3.函式 4.主程式 在編寫...

Linux Shell指令碼程式設計入門

shell 指令碼是包含一系列命令的文字本當 讀取執行該文字文件就可以執行文件裡面的命令 常用於執行批量事務處理 重複性操作 自動化運維 定時執行任務等 編寫乙個簡單 shell 指令碼 1 建立 shell 指令碼文件 vi hellow.sh2 編寫 shell 指令碼 注意第一行是標記這個指令...