合格linux運維人員必會的30道shell編程實踐題及講解-12

企業實踐題12:打印選擇菜單,一鍵安裝Web服務:bash

[root@oldboyscripts]# sh menu.shspa

    1.[install lamp]code

    2.[install lnmp]server

    3.[exit]blog

    pls input the num you want:ip

要求:lnmp

一、當用戶輸入1時,輸出「startinstalling lamp.」而後執行/server/scripts/lamp.sh,腳本內容輸出"lampis installed"後退出腳本;input

二、當用戶輸入2時,輸出「startinstalling lnmp.」而後執行/server/scripts/lnmp.sh輸出"lnmpis installed"後退出腳本;it

三、當輸入3時,退出當前菜單及腳本;io

四、當輸入任何其它字符,給出提示「Input error」後退出腳本。

五、要對執行的腳本進行相關條件判斷,例如:腳本是否存在,是否可執行等。

#!/bin/bash
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
menu(){
cat << END
==================================
   1.[install lamp]
   2.[install lnmp]
   3.[exit]
   please input the num you want:
==================================
END
}
menu
read num
[ $num -eq 1 ] && {
    echo "start installing lamp."
    if [ -x /server/scripts/lamp.sh ]'then
         /bin/bash /server/scripts/lamp.sh
    else 
         exit 1
}
[ $num -eq 2 ] && {
    echo "start installing lnmp."
    if [ -x /server/scripts/lnmp.sh ]'then
         /bin/bash /server/scripts/lnmp.sh
    else 
         exit 2
}
[ $num -eq 3] && exit $RERVAL
echo "input error" && exit $RERVAL
#!/bin/bash
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
cat << MENU
1.[install lamp] 2.[install lnmp] 3.[exit] please input the num you want: MENU read num case "$num" in 1) echo "start installing lamp." if [ -x /server/scripts/lamp.sh ]'then /bin/bash /server/scripts/lamp.sh else exit 1 2) echo "start install lnmp." if [ -x /server/scripts/lamp.sh ]'then /bin/bash /server/scripts/lnmp.sh else exit 1 3) exit $RETVAL *) echo "input error" && exit $RETVAL esac
相關文章
相關標籤/搜索