日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

false shell 判断_六、Shell流程控制-if判断语句

發布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 false shell 判断_六、Shell流程控制-if判断语句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. shell中的運算

1.1 數學比較運算

-eq 等于

-ne 不等于

-lt 小于

-gt 大于

-le 小于等于

-ge 大于等于

浮點數的比較建議將數字等比放大至整數進行比較,例如

#比較1.5和2的大小

test `echo 1.5*10|bc|awk -F "." '{print $1}'` -lt $((2*10))

1.2 文件比較運算

-d 檢查目錄是否存在

-e 檢查文件或目錄是否存在

-f 檢查文件是否存在

-r 檢查文件是否存在且可讀

-s 檢查文件是否存在且不為空

-w 檢查文件是否存在且可寫

-x 檢查文件是否存在且可執行

-O 檢查文件是否存在且被當前用戶擁有

-G 檢查文件是否存在且默認組為當前組

file1 -nt file2 檢查file1是否比file2新,比較mtime

file1 -ot file2 檢查file1是否比file2舊,比較mtime

file1 -ef file2 檢查file1是否比file2是否有相同的inode

1.3 字符串比較運算

== 等于

!= 不等于

-n (not zero)檢查字符串是否不為空

-z (zero)檢查字符串是否為空

1.4 邏輯運算

&& 邏輯與運算

|| 邏輯或運算

! 邏輯非運算

2. if語句

[ condition ]可以由多個條件使用||或&&拼接

例如:

#只要一個條件為真就行

if [ $var1 -lt 1 ] || [ $var2 -gt 2 ]

#必須所有條件為真

if [ $var1 -lt 1 ] && [ $var2 -gt 2 ] && [ $var3 -lt 10 ]

2.1 單if語句

適用范圍:只需一步判斷,條件返回真干什么

語法:

if [ condition ] #condition為true或false,[]與condition中間有空格

then

command

fi

例子:

#如果/tmp/abc目錄不存在,就創建目錄

#!/bin/bash

if [ ! -d /tmp/abc ]

then

mkdir /tmp/abc

echo "create dir /tmp/abc"

fi

2.2 if-then-else語句

適用范圍:兩步判斷,條件為真干什么,條件為假干什么

if [ condition ]

then

command1

else

command2

fi

例子:

#如果用戶是root,輸出"管理員,你好",否則輸出"Guest,你好"

#!/bin/bash

if [ $USER == 'root' ]

then

echo "管理員,你好"

else

echo 'Guest,你好'

fi

2.3 if-then-elif-then-else語句

適用范圍:多于兩個以上的判斷結果

if [ condition1 ]

then

command1

elif [ condition2 ]

then

command2

......

else

commandx

fi

例子:

#給腳本傳入兩個整數,輸出比較結果

#!/bin/bash

if [ $1 -gt $2 ]

then

echo "$1>$2"

elif [ $1 -eq $2 ]

then

echo "$1=$2"

else

echo "$1

fi

3. if高級應用

3.1 條件符號使用(( ))植入數學表達式

在數學表達式中,使用的是傳統的比較運算符 >、>=、==、

例子:

#判斷(5+4)*10>89

#!/bin/bash

if (( (5+4)*10>89 ))

then

echo "yes"

else

echo "no"

fi

3.2 條件符號使用[[ ]]在條件中使用通配符

例子:

#打印r開頭的字符串

#!/bin/bash

for var in r1 r2 a ab c

do

if [[ $var == r* ]]

then

echo $var

fi

done

總結

以上是生活随笔為你收集整理的false shell 判断_六、Shell流程控制-if判断语句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。