if條件判斷與if真假判斷
目錄:
1.正確寫法
2.錯誤寫法
3.總結
一、正確寫法
在編寫shell腳本時,爲簡化代碼的行號及結構的簡約型,通常將命令執行結果和判斷通過一條語句進行編寫(在C語言編寫程序時,經常遇到此種寫法),如:
方法1:單一命令條件判斷 [root@centos7 ~]#touch test.sh if useradd root &>/dev/null ; then #如果用戶添加成功,則不顯示,否則顯示用戶添加失敗 else fi [root@centos7 ~]#./test.sh user1 created failed 方法2:多重命令條件判斷 [root@centos7 ~]#vim test1.sh #!/bin/bash [root@centos7 ~]#chmod 777 test1.sh [root@centos7 ~]#./test1.sh |
二、錯誤寫法
但是如果因記憶失誤或編寫腳本習慣性,添加[ ]判斷時,腳本變爲如下:
[root@centos7 ~]#touch test.sh if [ useradd user1 &>/dev/null ] ; then #如果用戶添加成功,則不顯示,否則顯示用戶添加失敗 else fi [root@centos7 ~]#./test.sh # user1 created failed [root@centos7 ~]#id user1 #用戶添加成功,本應該不顯示,但顯示添加失敗 [root@centos7 ~]#userdel -r user1 ######################調試模式執行################################################### [root@centos7 ~]#bash -x 4.sh + echo 'user1 created failed' #條件判斷默認是判斷useradd user1添加成功後,命令結果無顯示 |
三、總結
總結,在使用if判斷及命令執行結果的語法結構時,命令行中間切忌加判斷,條件判斷必須加條件判斷表達式。其本質是,if 真假判斷 和 if 條件判斷的區別
真假判斷 條件判斷 多重條件判斷 if cmd ; then if [ statement ]; then if [ statement ] && cmd ;then cmd statement cmd statement cmd statement else else else cmd statement cmd statement cmd statement fi fi fi |
####################################################################################
###具體詳情請諮詢微信:QQ767743577 郵箱地址: [email protected],有問必答,有答必應,人人爲我,我爲人人###
####################################################################################