前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这两个shell脚本,你更喜欢哪一个?

这两个shell脚本,你更喜欢哪一个?

原创
作者头像
运维朱工
发布2022-01-04 14:40:25
3500
发布2022-01-04 14:40:25
举报
文章被收录于专栏:云计算教程云计算教程

如果你正在写一个脚本,需要通过用户输入一个字符串,来决定后面的程序是否执行。并且还要考虑用户可能会输入大写字符或小写字符,或者不输入字符直接回车的情况。你会怎么写?

基于case匹配用户输入信息:
[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
2008705179.gif
2008705179.gif
基于变量扩展与逻辑语法:
[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好的,退出安装程序!" 
1297842587.gif
1297842587.gif

以上两个脚本,你更喜欢哪一个呢?后续会发布更多硬核技术文章。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于case匹配用户输入信息:
  • 基于变量扩展与逻辑语法:
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档