1. 編寫函數,實現列印綠色OK和紅色FAILED 判斷是否有參數,存在為Ok,不存在為FAILED [root@template shellScript]# cat ex1.sh # 編寫函數,實現列印綠色OK和紅色FAILED 判斷是否有參數,存在為Ok,不存在為FAILED #!/bin/ba ...
1. 編寫函數,實現列印綠色OK和紅色FAILED 判斷是否有參數,存在為Ok,不存在為FAILED
[root@template shellScript]# cat ex1.sh
# 編寫函數,實現列印綠色OK和紅色FAILED 判斷是否有參數,存在為Ok,不存在為FAILED
#!/bin/bash
fun(){
if [ $# -ne 0 ]
then
echo -e "\033[32m OK \033[0m"
else
echo -e "\033[31m FAILED \033[0m"
fi
}
read -p "plz input sth..." str
fun $str
[root@template shellScript]# ./ex1.sh
plz input sth...1qw11d1d
OK
[root@template shellScript]# ./ex1.sh
plz input sth...
FAILED
運行效果圖:
2. 編寫函數,實現判斷是否無位置參數,如無參數,提示錯誤
[root@template shellScript]# cat ex2.sh
# 編寫函數,實現判斷是否無位置參數,如無參數,提示錯誤
#!/bin/bash
fun() {
if [ $# -eq 0 ]
then
echo "無位置參數"
else
echo "位置參數為$@"
fi
}
read -p "plz input sth..." str
fun $str
運行截圖:
3. 編寫函數實現兩個數字做為參數,返回最大值
# 此方法不能比較負數的大小
[root@template shellScript]# cat ex3.sh
# 編寫函數實現兩個數字做為參數,返回最大值
#!/bin/bash
fun(){
# 判斷輸入是否是數字
if [[ $a =~ ^[0-9]*$ ]] && [[ $b =~ ^[0-9]*$ ]]
then
# 比較大小
if [ $a -gt $b ]
then
echo "$a > $b"
elif [ $a -lt $b ]
then
echo "$a < $b"
else
echo "$a = $b"
fi
else
echo "請輸入倆個數字!!!"
fi
}
# 輸入負數也可以比較大小
# read -p "plz input two num:" a b
read -p "plz input num1:" a
read -p "plz input num2:" b
fun $a $b
測試截圖:
方式二:
[root@template shellScript]# cat ./ex3_2.sh
#!/bin/bash
read -p "please input two number:" a b
fun(){
[ -z "$a" -o -z "$b" ] && {
echo "please input 'two' number"
exit 1
}
expr $a + 10 &>/dev/null
return_a=$?
expr $b + 10 &>/dev/null
return_b=$?
[ "$return_a" -eq 0 -a "$return_b" -eq 0 ] || {
echo "please input two 'number'"
exit 2
}
[ "$a" -lt "$b" ] && {
echo "$a < $b"
exit 0
}
[ "$a" -eq "$b" ] && {
echo "$a = $b"
exit 0
}
[ "$a" -gt "$b" ] && {
echo "$a > $b"
exit 0
}
}
fun $a $b
運行截圖:
-------------------------------------------
個性簽名:今天做了別人不想做的事,明天你就做得到別人做不到的事,嘗試你都不敢,你拿什麼贏!
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!