if條件語句

2022-09-23 06:57:14 字數 2660 閱讀 8233

if判斷檔案、目錄屬性

[-f file]判斷是否是普通檔案,且存在

[-d file]判斷是否是目錄,且存在

[-e file]判斷檔案或目錄是否存在

[-r file]判斷檔案是否可讀

[-w file]判斷檔案是否可寫

[-x file]判斷檔案是否可執行

1.判斷數之間的大小

#!/bin/bash

#auto

iftest

#by zgh

2019

num1=100

num2=200

if [ $nume1 >$num2 ]

then

echo

"this $num1 greate $num2 !

"else

echo

"this $num1 little $num2 !

"fi

2.判斷一個目錄是否存在

#!/bin/bash

#auto

iftest1

#by authors zgh

2019

dir=/tmp/20191126

if [ ! -d $dir ]

then

mkdir -p $dir

echo -e "

\033[32m this $dir create successs! \033[0m

"else

echo -e "

\033[32m this $dir is exist,please exit.\033[0m

"fi

if [ -z "$a"

]這個表示當變數a的值為空時會怎麼樣

if [ -n "$a"

]表示當前變數a的值不為空

if grep -q ‘123’ 1.txt;then表示如果1.txt種含有'

123'

的行時會怎麼樣

if [ ! -e file ];then表示檔案不存在時會怎麼樣

if (( $a < 1 ));then...等同於if [ $a -lt 1

];then ...

中不能使用

,==,!....等符號

3.判斷一個檔案是否存在

#!/bin/bash

#auto test files

#by authors zgh

2019

files=/tmp/test.txt

if [ ! -e $files ];then

echo "ok

" >>$files

else

echo -e "

\033[32m---------------------------\033[1m

"cat $files

fi

4.if多條件判斷

#!/bin/bash

scores=$1

if [ -z $scores ];then

echo

"usage:

"exit

fiif [[ $scores -gt 85

]]then

echo

"very good!";

elif [[ $scores -gt 75

]]then

echo

"good!";

elif [[ $scores -gt 60

]]then

echo

"pass!";

else

echo

"no pass!";

fi

編寫監控**是否被篡改的指令碼

#!/bin/bash

#2020年01月15日

#by author zgh

################

curl -s '

'|grep -c "

discuz

" >/tmp/sh/http.txt

#curl -s -i --connect-timeout 3 -m 10

'' | grep "

http/1.1

" | awk '

'>http.txt

status=`cat /tmp/sh/http.txt`

#if [[ $status -eq 200 ]] || [[ $status -eq 302 ]]

if [[ $status > 0

]]then

echo $status

else

echo "0"

fi