企业实践题12:打印选择菜单,一键安装Web服务:
[iyunv@oldboyscripts]# sh menu.sh
1.[install lamp]
2.[install lnmp]
3.[exit]
pls input the num you want:
要求:
1、当用户输入1时,输出“startinstalling lamp.”然后执行/server/scripts/lamp.sh,脚本内容输出"lampis installed"后退出脚本;
2、当用户输入2时,输出“startinstalling lnmp.”然后执行/server/scripts/lnmp.sh输出"lnmpis installed"后退出脚本;
3、当输入3时,退出当前菜单及脚本;
4、当输入任何其它字符,给出提示“Input error”后退出脚本。
5、要对执行的脚本进行相关条件判断,例如:脚本是否存在,是否可执行等。
#!/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 |