編寫一個判斷腳本

4案例4:編寫一個判斷腳本

4.1 問題

本例要求在虛擬機server0上創建/root/foo.sh腳本,任務目標如下:

  1. 當運行/root/foo.sh redhat,輸出爲fedora
  2. 當運行/root/foo.sh fedora,輸出爲redhat
  3. 當沒有任何參數或者參數不是redhat或者fedora時,其錯誤輸出產生以下信息:/root/foo.sh redhat|fedora
4.2方案

Shell腳本中執行條件測試的方法:

  • 任何一條命令行
  • test 測試表達式
  • [ 測試表達式 ]
    常用的test測試選項:
  • 文件狀態測驗 -f、-d、-e、-r、-w、-x
  • 整數值比較 -gt、-ge、-eq、-ne、-lt、-le
  • 字符串比較 ==、!=
  • 取反操作
    多分支if選擇結構:
if  條件測試操作1;then
     命令序列1....
elif  條件測試操作2;then
     命令序列2....
else
     命令序列3....
fi
4.3步驟

實現此案例需要按照如下步驟進行。

步驟一:編寫foo.sh判斷腳本

1)編寫腳本代碼

[root@server0 ~]# vim  /root/foo.sh
#!/bin/bash
if  [ $# -eq 0 ];then
echo "/root/foo.sh redhat|fedora" >&2
elif [ $1 = "redhat" ];then
       echo "fedora"
elif [ $1 = "fedora" ];then
       echo "redhat"
else
       echo "/root/foo.sh redhat|fedora" >&2
fi

2)添加執行權限

[root@server0 ~]# chmod  +x  /root/foo.sh 

步驟二:測試foo.sh判斷腳本

1)測試提供正確參數的情況

[root@server0 ~]# /root/foo.sh  redhat
fedora
[root@server0 ~]# /root/foo.sh  fedora
Redhat

2)測試提供非預期參數的情況

[root@server0 ~]# /root/foo.sh  ubuntu
/root/foo.sh redhat|fedora

3)測試不提供參數的情況

[root@server0 ~]# /root/foo.sh
/root/foo.sh redhat|fedora
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章