shell指令碼 if雙分支語句簡單案例

2021-10-03 04:47:30 字數 2733 閱讀 1869

if雙分支執行流程,首先對if後面的條件進行判斷,若條件成立,則執行then後面的命令序列,執行完後轉到fi結束。若條件不成立,則執行else後面的命令序列,然後轉到fi結束,繼續執行後續命令。

if [ 條件判斷 ]

then

commands

else

commands

fi例1:測試主機存活性,並說明存活狀態

#!

/bin/bash

#date 2020-2

-24#描述:測試主機存活狀態

read -p "請輸入乙個ip:" ip

ping -c 1 $ip &

>

/dev/

null

if[ $?

-eq 0

]then

echo "ip主機存活"

else

echo "ip主機未存活,請盡快檢視主機情況"

fi

執行結果:

[root@linus ~

]# sh 4.sh

請輸入乙個ip:

192.168

.1.123

ip主機存活

例2:測試服務執行狀況,並說明執行狀態

#!

/bin/bash

#date 2020-2

-24#描述:測試httpd服務狀態

echo "httpd已經執行"

else

echo "httpd沒有執行,應該是服務錯誤或者沒有安裝

,請盡快檢視"

fi

執行結果:

[root@linus ~

]# sh 5.sh

httpd已經執行

例3:判斷指定的某個使用者是否存在,若存在則顯示提示資訊並跳過,否則就建立。

#!

/bin/bash

#date 2020-2

-24#描述:判斷指定使用者是否存在,不存在則建立

read -p "請輸入使用者名稱:" name

read -p "請輸入使用者密碼:" passwd

cut -d:

-f1 /etc/passwd | grep "\<$name\>"

&>

/dev/

null

if[ $?

-eq 0

]then

echo "使用者$name已存在,不再建立"

else

echo "使用者$name不存在,正在建立"

useradd $name &

>

/dev/

null

echo "$name:$passwd"

| chpasswd &

>

/dev/

null

if[ $?

-eq 0

] then

echo "使用者$name密碼建立成功"

else

echo "使用者$name密碼建立失敗"

fifi

執行結果:

[root@linus ~

]# sh 7.sh

請輸入使用者名稱:create

請輸入使用者密碼:

123.com

使用者create不存在,正在建立

使用者create密碼建立成功

例4:每5分鐘監控一次mysql服務執行狀態,把服務錯誤資訊寫入到/var/log/mysql.log檔案中。

#!

/bin/bash

#date 2020-2

-24#描述:每五分鐘監控一次mysql執行狀態,並把錯誤資訊寫入日

志pgrep -x mysqld &

>

/dev/

null

if[ $?

-ne 0

]then

echo "$(date),mysql服務已宕機"

>>

/var

/log/mysql.log

else

echo "mysql正在執行"

fiecho "5 * * * * sh /root/8.sh"

>>

/var

/spool/cron/root

執行結果:

[root@linus ~

]# sh 8.sh

[root@linus ~

]# cat /

var/log/mysql.log

2023年 02月 25日 星期二 01:29

:07cst,mysql服務已宕機

shell指令碼程式設計 if分支語句 分支結構

使用者的資訊會寫到 etc passwd 同時會生成此使用者名稱命名的家目錄 在 home 建立 從鍵盤讀取使用者輸入的密碼資訊,驗證輸入的密碼是否為123456 如果輸入正確,顯示密碼正確,如果錯誤,顯示密碼錯誤。ssh ip位址 vim passwd.sh bin bash read p 請輸入...

shell指令碼程式設計 分支結構if分支語句,多分支

1.5 shell指令碼程式設計 分支結構if分支語句,多分支 使用者的資訊會寫到 etc passwd 同時會生成以此使用者名稱命名的家且錄 在 home建立 從鍵盤讀取使用者輸入的密碼資訊,驗證輸入的密碼是否為123456,如果輸入正確,顯示密碼正確,如果錯誤,顯示密碼錯誤。bin bash r...

shell指令碼 if單分支語句簡單案例

if單分支流程 直接對if後面的條件進行判斷,若成立,執行then下面的命令序列,然後fi結束。若條件不成立,則直接轉到fi結束,執行後續命令。if 條件判斷 then commandsfi或 if 條件判斷 then commands fi案例一 判斷目錄是否存在,不存在則建立 if dir.sh...