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
第一种:
#!/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
相关文章推荐
- shell 练习
- 5个Shell脚本编程入门练习例子
- shell脚本程序练习
- shell整理(39)====shell改变文本练习
- shell学习十六天----join练习
- shell的应用练习
- 初学shell,为了练习sed,写了个简单的批量修改文件名的脚本,后来执行时发现系统竟然自带有一个rename命令,顺便也记下了
- Shell练习:遍历文件夹下的所有文件及文件夹,并输出到文件
- spark:在spark-shell上用260M的数据包做简单的sparkSQL练习--13
- shell脚本小练习--域名解析
- shell脚本几个练习
- shell脚本 sed工具练习
- shell练习二
- Shell 脚本基本操作练习
- SHELL菜单select练习
- 5个Shell脚本编程入门练习例子
- shell 练习
- shell练习1
- shell练习
- shell脚本练习(二)