一、 IF條件語句概述
Shell腳本中的IF語句可以判斷某個條件是否成立並根據條件判斷的結果執行相應的命令。語法如下:
if condition
then
command1
elif condition2
then
command2
else
command3
fi
其中condition和condition2是條件判斷語句,如果成立則執行command1或command2,否則執行command3。
下面是一個簡單的例子,如果a等於b,則輸出「a等於b」,否則輸出「a不等於b」:
#!/bin/bash
a=10
b=10
if [ $a -eq $b ]
then
echo "a等於b"
else
echo "a不等於b"
fi
上述代碼中,-eq是等於符號,如果兩個數值相等則返回true,-ne、-lt、-gt等符號都是Shell中的常用符號。
二、IF條件語句使用技巧
1.在IF語句中可以加入循環,來判斷表達式的真假,並根據結果執行不同的命令,下面代碼表示如果目錄不存在,就創建該目錄:
#!/bin/bash
if [ ! -d "/tmp/runoob" ]
then
mkdir /tmp/runoob
else
echo "/tmp/runoob 目錄已經存在"
fi
2.可以將多個條件判斷組合在一起,使用如下格式:
if [ condition1 ] && [ condition2 ]
then
command1
else
command2
fi
上述代碼表示如果condition1和condition2都成立,則執行command1,否則執行command2。
3.除了使用等於符號以外,還可以使用字符串比較的方法,如下:
if [ "$a" = "$b" ]
then
echo "$a = $b"
else
echo "$a != $b"
fi
上述代碼中,= 表示字符串相等,!= 表示字符串不等。
三、IF條件語句高級使用
1.可以使用case語句代替IF語句,稍微簡潔一些。示例代碼如下:
#!/bin/bash
echo '輸入 1 到 4 之間的數字:'
echo '你輸入的數字為:'
read aNum
case $aNum in
1) echo '你選擇了 1'
;;
2) echo '你選擇了 2'
;;
3) echo '你選擇了 3'
;;
4) echo '你選擇了 4'
;;
*) echo '你沒有輸入 1 到 4 之間的數字'
;;
esac
上述代碼中,根據用戶輸入的數字,通過case語句判斷所選項,如果沒有輸入1到4之間的數字則輸出錯誤提示。
2.可以使用IF語句代替嵌套,讓代碼看起來更清爽簡潔。示例代碼如下:
#!/bin/bash
a=10
b=20
if [ $a -eq $b ]
then
echo "a 等於 b"
elif [ $a -gt $b ]
then
echo "a 大於 b"
else
echo "a 小於 b"
fi
上述代碼中,第一個IF語句判斷a是否等於b,如果不是,則進入第二個IF語句,判斷a是否大於b,否則輸出a小於b。
結語
通過學習Shell中的IF條件語句,我們可以編寫出更加靈活、高效的腳本,提升我們的工作效率。同時,我們還可以深入研究其他Shell語法,不斷挖掘其功能,為我們的工作帶來更多便利。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/293503.html
微信掃一掃
支付寶掃一掃