如果你正在写一个脚本,需要通过用户输入一个字符串,来决定后面的程序是否执行。并且还要考虑用户可能会输入大写字符或小写字符,或者不输入字符直接回车的情况。你会怎么写?
[root@www.lutixia.cn ~]# cat case.sh
#!/bin/bash
#by lutixia
read -n1 -p "你是否想继续安装lnmp呢? [Y/N] " answer
case $answer in
# 匹配用户输入的大写Y或者小写y:
Y|y)echo
echo "好的,正在安装lnmp..."
;;
# 匹配用户输入的大写N或者小写n:
N|n)echo
echo "好的,退出安装程序!"
exit
;;
esac
[root@www.lutixia.cn ~]# cat test2.sh
#!/bin/bash
#by lutixia
# 定义一个小写的变量,即使用户输入大写字母也自动变为小写
declare -l answer
# 限制用户输入一个字符:
read -n1 -p "你是否想继续安装lnmp呢? [Y/N] " answer
# 设置answer变量默认值为y,即用户直接回车时,变量值为y
[[ ${answer:="y"} = "y" ]] && echo -e "\n好的,正在安装lnmp..." || echo -e "\n好的,退出安装程序!"
以上两个脚本,你更喜欢哪一个呢?后续会发布更多硬核技术文章。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。