shell练习
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
#
clear
show_usage() {
echo "-----------------------menu-----------------------"
echo "-------------------1.[install lamp]----------------"
echo "-------------------2.[install lnmp]----------------"
echo "-------------------3.[ exit ]------------------"
echo -n " select: "
read choice
}
case $choice in
*)
show_usage
;;
esac
if [ "$choice" -eq 1 ]
then
echo "startinstalling lamp"
cd /home
if [ -a lamp.sh ] && [ -x lamp.sh ]
then
echo "文件存在,拥有权限"
bash /home/lamp.sh
else
echo "出现错误,请查看下在执行..."
fi
elif [ "$choice" -eq 2 ]
then
echo "startinstalling lnmp"
cd /home
if [ -a lnmp.sh ] && [ -x lnmp.sh ]
then
echo "文件存在,拥有权限"
bash /home/lnmp.sh
else
echo "出现错误,请查看下在执行..."
fi
elif [ "$choice" -eq 3 ]
then
echo "退出菜单及脚本"
exit 0
else [ "$choice" == "*" ]
echo "input error,请输入正确字符..."
fi
exit 0
第二种:
#!/bin/bash
clear
echo "-----------------------menu-----------------------"
echo "-------------------1.[install lamp]----------------"
echo "-------------------2.[install lnmp]----------------"
echo "-------------------3.[ exit ]------------------"
echo -n " select: "
read choice
case $choice in
1) echo "startinstalling lamp"
cd /home
if [ -a lamp.sh ] && [ -x lamp.sh ]
then
echo "文件存在,拥有权限"
bash /home/lamp.sh
else
echo "出现错误,请查看下在执行..."
fi
;;
2) echo "startinstalling lnmp"
cd /home
if [ -a lnmp.sh ] && [ -x lnmp.sh ]
then
echo "文件存在,拥有权限"
bash /home/lnmp.sh
else
echo "出现错误,请查看下在执行..."
fi
;;
3) if [ "$choice" -eq 3 ]
then
echo "执行退出菜单及脚本"
exit 0
fi
;;
*) echo "input error"
echo "请输入正确的字符..."
esac
2.
#!/bin/bash
read -p "请输入一个字符:" input
count=$(echo $input | wc -c)
if [ $count -eq 2 ]
then
:
else
for ((i=1;i<=2;i++))
do
echo "你输入不符合要求,请输入单个字符"
echo ""
read -p "请输入一个字符:" input
count=$(echo $input | wc -c)
[ $count -eq 2 ] && break
done
[ $count -eq 2 ] && :
[ $count -eq 2 ] || echo "你输入的值不符合需求,程序已经中断了!" && exit 1
fi
case $input in
[0-9])
echo "你输入的是一个数字"
;;
[a-z]|[A-Z])
echo "你输入的是一个字母"
;;
*)
echo "你输入的是特殊符号"
esac
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。