想要提升shell脚本能力,练习必不可少。真正有效的练习方法之一就是穷举法。

所谓的穷举法,就是把一个脚本练到极致。

任何脚本都讲究循序渐进,先从最简单的功能开始,逐渐增加难度。在同一个难度的级别,用多种方法反复穷举。

比如这个初级难度级别:

写一个购物清单脚本,列出4个商品供用户选择,用户选中就提示已被选中。提示完成,继续进入下一轮的选择。

第一阶段,从最初级的脚本开始练起:

方法一:

#!/bin/bash
while true
do
### 使用函数,输出4个选项
list(){cat <<END1.apple2.banana3.pear4.orangeplease slect one that you like:
END
}
list
​
​
​
read num
​
if [ $num -eq 1 ];then
echo "this is an apple"elif [ $num -eq 2 ];thenecho "this is an banana"elif [ $num -eq 3 ];thenecho "this is a pear"elif [ $num -eq 4 ];thenecho "this is an orange"elseecho "please retry!"
fi
done

方法二:

[root@laoxin22 ~]# cat list.sh
#!/bin/bash
list(){cat <<END1.apple2.banana3.pear4.orangeplease slect one that you like:
END
}
​
​
num(){
read num
​
if [ $num -eq 1 ];thenecho "this is an apple"elif [ $num -eq 2 ];thenecho "this is an banana"elif [ $num -eq 3 ];thenecho "this is a pear"elif [ $num -eq 4 ];thenecho "this is an orange"elseecho "please retry!"
fi
}
while true
do
​
list
num
echo "#########begin##############"
done

方法三:

#!/bin/bash
​
list(){cat << EOF1.apple2.banana3.pear4.orangeplease select one that you like:
EOF
}
list
for (( ; ; ))
do
num1=1
num2=2
num3=3
num4=4
read NUMif [ $NUM == $num1 ];thenecho "you chose is apple!"elif [ $NUM == $num2 ];thenecho "you chose is banana!"elif [ $NUM == $num3 ];thenecho "you chose is pear!"elif [ $NUM == $num4 ];thenecho "you chose is orange!"elseecho "you should select right num!"exitfi
done

这里只举了三个方法,在练习的时候还可以继续尝试更多方法,在同一个难度级别反复穷举。

穷举最大的好处就是让你通过一个脚本,练习了不同的shell脚本语法。
当练习完同一级别后,就可以增加脚本功能, 比如在当前的基础上,在增加判断用户输入的是否为数字,增加订单的创建等等。

分享一: 生产环境必备shell脚本

分享二:shell脚本的电子书分享:
《实战linux _shell 编程与服务器管理》,《shell脚本攻略第3版》《LINUX与UNIX SHELL编程指南》

获取方法:公号后台回复“shell脚本” 即可获得

shell脚本之购物车清单脚本相关推荐

  1. shell脚本编程之控制脚本

    技术交流QQ群:1027579432,欢迎你的加入! 1.引言 目前为止,运行脚本的唯一方式是以实时模式在命令行界面上直接运行.但是,这并不是Linux上运行脚本的唯一方式. 2.处理信号量 Linu ...

  2. 查看linux中的sh指向哪,什么是Linux的Shell脚本和怎么执行脚本?

    1.什么是Shell?shell shell是外壳的意思,就是操做系统的外壳.咱们能够经过shell命令来操做和控制操做系统,好比Linux中的Shell命令就包括ls.cd.pwd等等.总结来讲,S ...

  3. shell开发跳板机功能脚本

    利用Shell开发跳板机功能脚本案例 范例17_6:开发企业级Shell跳板机案例.要求用户登录到跳板机仅能执行管理员给定的选项动作,不允许以任何形式中断脚本到跳板机服务器上执行任何系统命令 方法1: ...

  4. shell指令可以直接在终端输入吗_简化shell终端命令输入的脚本式快捷键工具

    1.解决的问题 当你需要一次输入很多个命令的时候,例如一次去多个目录删除文件 cd dir1 rm file1.temp cd ../../dir2 rm -rf dir3 当你懒得输入一个好长的命令 ...

  5. shell编程系列26--大型脚本工具开发实战

    shell编程系列26--大型脚本工具开发实战大型脚本工具开发实战拆分脚本功能,抽象函数1.function get_all_group 返回进程组列表字符串2.function get_all_pr ...

  6. mongo shell连接到mongoDB及shell提示符下执行js脚本

    同mysql数据库类似,mongoDB也可通过mongo客户端连接到mongod服务器来进行绝大多数日常管理.这个命令行工具就是mongo,在mysql中则是mysql.通过mongo命令可以连接到本 ...

  7. shell不允许输入空字符_shell脚本编程之控制脚本

    点蓝色字关注"CurryCoder的程序人生" 微信公众号:CurryCoder的程序人生 欢迎关注我,一起学习,一起进步! 1.引言 目前为止,运行脚本的唯一方式是以实时模式在命 ...

  8. 6条shell小技巧,让脚本显得不再业余

    6条shell小技巧,让脚本显得不再业余 原创作者: 58沈剑 来自公众号:架构师之路 画外音:说实话,技术思路类文章(WHY, HOW),比技术实践类(WHAT)更难写. 如何能让自己的shell显 ...

  9. linux命令封装sh,shell脚本学习之调用脚本将文件打包zip的方法示例

    前言 本文主要给大家介绍的是关于调用脚本将文件打包zip的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍: 最近刚刚接触shell脚本,写了一点简单的练手.这里是用python调用脚本执行 ...

最新文章

  1. win10 UWP 应用设置
  2. 如何修改xd.properties文件中对象存储文件信息_对块存储、文件存储、对象存储的认识总结...
  3. 【NLP】有三AI NLP知识星球来了,仅此一家别无分店
  4. java 手写缓存,java手写多级缓存
  5. SparkSQL读取hive中的数据,行转列的两种方式【行转列专用函数,UDAF】
  6. android一些小技巧
  7. 选择符合语义的html标签,最容易犯的HTML标签错误写法
  8. 决策树的python实现
  9. UIButton @selector 想要传递多个参数
  10. Java前后端分离第三方登录_网站前后端分离情况下如何实现QQ微信等第三方登陆-Fun言...
  11. 椭圆极点极线性质_圆锥曲线的统一性质
  12. windows_2008_server无法安装vcredist_x64
  13. 创业者防坑手册:面对强大的资本力量,你该如何正当防卫?
  14. phyton的函数与类的学习
  15. 理解Mybatis一级缓存,以及如何真正使用到一级缓存
  16. 机器学习中的启发式算法(heuristic algorithm)
  17. App陷阱防不胜防:欺骗误导用户下载App、欺骗误导用户提供个人信息
  18. hdu4417 Super Mario(树状数组+离线区间操作)
  19. 皕杰报表图表钻取超链接
  20. 树的结点?结点的度?

热门文章

  1. SAP FI中配置“特别总帐标志” SGL
  2. 【AAAI 2020】全部接受论文列表(四)
  3. 智能化招聘管理系统Moka完成B轮1.8亿人民币融资,高瓴资本领投...
  4. Tensorflow多GPU使用详解
  5. 十一届中国大学生计算机设计大赛,我校在2018年(第十一届)中国大学生计算机设计大赛中再获佳绩...
  6. 2022-3-13 MIT lab1 到 lab2 代码的切换
  7. 医院HIS系统与电子病历系统有什么关系
  8. 物流信息管理php,物流信息管理平台设计与实现PHP1012(毕业设计+论文)
  9. cfa英语不好的怎么学_英语基础差,该怎么学习CFA?
  10. 乐行科技获2540万元天使融资,投资方为英诺天使