最近學着Linux的shell編程,學到循環和條件語句部分的時候,就想着自己寫一個試試吧,於是就有了下面的關於星座判斷的程序。(PS:程序並沒有實現農曆到陽曆的轉換,而且沒有考慮閏年,只是一個單純的簡單編程)
#!/bin/sh
echo "這個程序是用來查詢星座用的"
while [ "$mounth"=="OFF" ];
do
echo "請輸入你要查詢的月份"
read mounth
echo "請輸入你要查詢的日期"
read day
if [ "$day" -lt 1 ]
then
echo "你輸入的日期有誤"
fi
case "$mounth" in
1 )
if [ "$day" -gt 31 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 19 ]
then
echo "你的星座是摩羯座"
else
echo "你的星座是水瓶座"
fi
;;
2 )
if [ "$day" -gt 28 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -ge 18 ]
then
echo "你的星座是水瓶座"
else
echo "你的星座是雙魚座"
fi
;;
3 )
if [ "$day" -gt 31 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 20 ]
then
echo "你的星座是雙魚座"
else
echo "你的星座是白羊座"
fi
;;
4 )
if [ "$day" -gt 30 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 19 ]
then
echo "你的星座是白羊座"
else
echo "你的星座是金牛座"
fi
;;
5 )
if [ "$day" -gt 31 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 20 ]
then
echo "你的星座是金牛座"
else
echo "你的星座是雙子座"
fi
;;
6 )
if [ "$day" -gt 30 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 21 ]
then
echo "你的星座是雙子座"
else
echo "你的星座是巨蟹座"
fi
;;
7 )
if [ "$day" -gt 31 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 22 ]
then
echo "你的星座是巨蟹座"
else
echo "你的星座是獅子座"
fi
;;
8 )
if [ "$day" -gt 31 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 22 ]
then
echo "你的星座是獅子座"
else
echo "你的星座是處女座"
fi
;;
9 )
if [ "$day" -gt 30 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 22 ]
then
echo "你的星座是處女座"
else
echo "你的星座是天秤座"
fi
;;
10 )
if [ "$day" -gt 31 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 23 ]
then
echo "你的星座是天秤座"
else
echo "你的星座是天蠍座"
fi
;;
11 )
if [ "$day" -gt 30 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 22 ]
then
echo "你的星座是天蠍座"
else
echo "你的星座是射手座"
fi
;;
12 )
if [ "$day" -gt 31 ]
then
echo "你輸入的日期有誤"
fi
if [ "$day" -le 21 ]
then
echo "你的星座是射手座"
else
echo "你的星座是摩羯座"
fi
;;
* )
echo "你的月份輸入有誤"
exit 1
;;
esac
done
exit 0
程序涉及的只是比較簡單,就不詳細說了。程序的目的是以下幾點:
1、判斷輸入的月份和日期是否正確
2、根據輸入的時間判斷星座。
其實就是這麼簡單 純粹用來自娛自樂的程序,如有問題,歡迎指正。。。