一时兴起,练练shell的case,剧情如下图:
代码如下:
#!/bin/bash
#========================================
#
# 创建时间:2019-09-17
#
# 作用:模拟相亲场景
#
# 用法:sh /root/xiangqin.sh
#========================================
set -o nounset
function f_print_man
{
echo -e "\033[1;35m"${man}:$1"\033[0m"
}
function f_print_woman
{
echo -e "\033[1;36m"${woman}:$1"\033[0m"
}
#####################################################################
echo ""
echo -e "\033[1;31m"相亲中..."\033[0m \n"
read -p "男方:" man
read -p "女方:" woman
echo ""
##生成随机年龄
age=$[RANDOM%30+10]
##生成随机数
number=$[RANDOM%11]
digit=$[RANDOM%3]
##获取女方回答
case ${number} in
0)
answer=结了
;;
1)
answer=是的
;;
2)
answer=嗯嗯
;;
3)
answer=嗯
;;
4)
answer=已经结了
;;
5)
answer=还没
;;
6)
answer=没有
;;
7)
answer=怎么可能
;;
8)
answer=结婚了也不会到这里了
;;
*)
answer=不告诉你
esac
case ${digit} in
0)
reply=有
;;
1)
reply=有了
;;
2)
reply=没有
;;
3)
reply=还没有
;;
*)
reply=不告诉你
;;
esac
##进入正题
f_print_man "你好,你今年多大啊?"
f_print_woman "我今年${age}岁了呢"
case ${age} in
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18)
f_print_man "你个小毛孩不好好读书来凑什么热闹"
exit 1
;;
*)
f_print_man "那你结婚了吗"
f_print_woman "${answer}"
case ${answer} in
结了|是的|嗯嗯|嗯|已经结了)
f_print_man "那你来凑什么热闹啊~"
;;
还没|没有|怎么可能|结婚了也不会到这里了)
f_print_man "那你有房有车了吗?"
f_print_woman "${reply}"
case ${reply} in
有|有了)
f_print_man "那咋们赶快去民政局领证吧,今天正好是七夕,快快快."
;;
没有|还没有)
f_print_man "这样啊,不好意思,我去一下洗手间."
;;
*)
f_print_man "请正面回答我的问题"
;;
esac
;;
*)
f_print_man "你到底有没有结婚啊"
;;
esac
;;
esac
尝试运行一下:
哈哈!!!