shell脚本if和switch语句编写案例

来源:互联网 发布:银行家算法详解request 编辑:程序博客网 时间:2024/06/01 19:41

       最近学着Linux的shell编程,学到循环和条件语句部分的时候,就想着自己写一个试试吧,于是就有了下面的关于星座判断的程序。(PS:程序并没有实现农历到阳历的转换,而且没有考虑闰年,只是一个单纯的简单编程大笑

#!/bin/shecho "这个程序是用来查询星座用的"while [ "$mounth"=="OFF" ];doecho "请输入你要查询的月份"read mounthecho "请输入你要查询的日期"read dayif [ "$day" -lt 1 ]thenecho "你输入的日期有误"ficase "$mounth" in1 )if [ "$day" -gt 31 ]thenecho "你输入的日期有误"fiif [ "$day" -le 19 ]thenecho "你的星座是摩羯座"elseecho "你的星座是水瓶座"fi;;2 )if [ "$day" -gt 28 ]thenecho "你输入的日期有误"fiif [ "$day" -ge 18 ]thenecho "你的星座是水瓶座"elseecho "你的星座是双鱼座"fi;;3 )if [ "$day" -gt 31 ]thenecho "你输入的日期有误"fiif [ "$day" -le 20 ]thenecho "你的星座是双鱼座"elseecho "你的星座是白羊座"fi;;4 )if [ "$day" -gt 30 ]thenecho "你输入的日期有误"fiif [ "$day" -le 19 ]thenecho "你的星座是白羊座"elseecho "你的星座是金牛座"fi;;5 )if [ "$day" -gt 31 ]thenecho "你输入的日期有误"fiif [ "$day" -le 20 ]thenecho "你的星座是金牛座"elseecho "你的星座是双子座"fi;;6 )if [ "$day" -gt 30 ]thenecho "你输入的日期有误"fiif [ "$day" -le 21 ]thenecho "你的星座是双子座"elseecho "你的星座是巨蟹座"fi;;7 )if [ "$day" -gt 31 ]thenecho "你输入的日期有误"fiif [ "$day" -le 22 ]thenecho "你的星座是巨蟹座"elseecho "你的星座是狮子座"fi;;8 )if [ "$day" -gt 31 ]thenecho "你输入的日期有误"fiif [ "$day" -le 22 ]thenecho "你的星座是狮子座"elseecho "你的星座是处女座"fi;;9 )if [ "$day" -gt 30 ]thenecho "你输入的日期有误"fiif [ "$day" -le 22 ]thenecho "你的星座是处女座"elseecho "你的星座是天秤座"fi;;10 )if [ "$day" -gt 31 ]thenecho "你输入的日期有误"fiif [ "$day" -le 23 ]thenecho "你的星座是天秤座"elseecho "你的星座是天蝎座"fi;;11 )if [ "$day" -gt 30 ]thenecho "你输入的日期有误"fiif [ "$day" -le 22 ]thenecho "你的星座是天蝎座"elseecho "你的星座是射手座"fi;;12 )if [ "$day" -gt 31 ]thenecho "你输入的日期有误"fiif [ "$day" -le 21 ]thenecho "你的星座是射手座"elseecho "你的星座是摩羯座"fi;;* )echo "你的月份输入有误"exit 1;;esacdoneexit 0

       程序涉及的只是比较简单,就不详细说了。程序的目的是以下几点:

1、判断输入的月份和日期是否正确

2、根据输入的时间判断星座。

       其实就是这么简单偷笑 纯粹用来自娱自乐的程序,如有问题,欢迎指正。。。

0 0