1.基於case分支編寫腳本

1.1 問題
本案例要求編寫test.sh腳本,相關要求如下:

能使用redhat、fedora控制參數
控制參數通過位置變量$1傳入
當用戶輸入redhat參數,腳本返回fedora
當用戶輸入fedora參數,腳本返回redhat
當用戶輸入其他參數,則提示錯誤信息
1.2 方案
case分支屬於匹配執行的方式,它針對指定的變量預先設置一個可能的取值,判斷該變量的實際取值是否與預設的某一個值相匹配,如果匹配上了,就執行相應的一組操作,如果沒有任何值能夠匹配,就執行預先設置的默認操作。

case分支的語法結構如下所示:

case 變量 in
模式1)
命令序列1 ;;
模式2)
命令序列2 ;;
… …
*)
默認命令序列
esac
1.3 步驟
實現此案例需要按照如下步驟進行。

步驟一:編寫腳本文件

腳本編寫參考如下:

[root@svr5 ~]# vim test.sh
#!/bin/bash
case $1 in
redhat)
echo “fedora”;;
fedora)
echo “redhat”;;
*) //默認輸出腳本用法
echo “用法: $0 {redhat|fedora}”
esac
[root@svr5 ~]# chmod +x test.sh
步驟三:驗證、測試腳本

未提供參數,或提供的參數無法識別時,提示正確用法:

[root@svr5 ~]# ./test.sh
用法: ./test.sh {redhat|fedora}
確認腳本可以響應redhat控制參數:

[root@svr5 ~]# ./test.sh redhat
fedora
確認腳本可以響應fedora控制參數:

[root@svr5 ~]# ./test.sh fedora
redhat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章