您的位置:首页 > 运维架构 > Shell

shell练习

2015-05-27 11:34 190 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  server 用户 error