企业实践题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