shell學習筆記之條件(二)

2021-09-06 12:11:18 字數 1333 閱讀 7129

test或者[

#檢查檔案是否存在

if test -f read.c

then

...fi

if [ -f read.c ]

then

...fi

#如果then和if在同一行上,就應該用;把if和then分開

if [ -f read.c ];then

...fi

注意:1.if空格[空格***空格]都有空格

2.test命令的退出碼(表明條件是否滿足),決定是否要執行後面的**

字串比較

string1 ==string2

string1 !=string2

-n string

字串不為空

-z string

字串為null(乙個空串)

算數比較

exp1 -eq exp2    ==exp1 -ne exp2    !=exp1 -gt exp2    >exp1 -ge exp2    >=exp1 -lt exp2    !exp1

檔案有關的測試

-d file

目錄-e file 檔案存在,不可移植,常用-f

-f file

普通檔案

-r file

檔案可讀

-wfile

檔案可寫

-x file

檔案可執行

-s file

檔案大小不為0

-u file 檔案的set-user-id位被設定則為真

-g file 檔案的set-group-id位被設定則為真

使用set-user-id        set-uid位授予了程式其擁有者的訪問許可權而不是其使用者的訪問許可權

set-group-id    set-gid

各種與檔案有關的條件測試的結果為真的前提是檔案必須存在

#!/bin/sh

if [ -f /bin/bash ]

then

echo

"file /bin/bash exists"fi

if [ -d /bin/bash ]

then

echo

"file /bin/bash is a directory

"else

echo

"file /bin/bash is not a directory

"fi

SHELL學習筆記 IF條件判斷,判斷條件

前言 無論什麼程式語言都離不開條件判斷。shell也不例外。if list then do something here elif list then do another thing here else do something else here fi ex1 bin sh system una...

SHELL學習筆記 IF條件判斷,判斷條件

前言 無論什麼程式語言都離不開條件判斷。shell也不例外。if list then do something here elif list then do another thing here else do something else here fi ex1 bin sh system una...

SHELL學習筆記 IF條件判斷,判斷條件

所有程式語言都離不開邏輯判斷,shell也是如此。1 結構格式 if then do smithing elif then do another smithing else do else smithing fi 2 例項 bin bash system uname s 獲取作業系統 也可以是 sy...