shell脚本之购物车清单脚本
想要提升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脚本之购物车清单脚本相关推荐
- shell脚本编程之控制脚本
技术交流QQ群:1027579432,欢迎你的加入! 1.引言 目前为止,运行脚本的唯一方式是以实时模式在命令行界面上直接运行.但是,这并不是Linux上运行脚本的唯一方式. 2.处理信号量 Linu ...
- 查看linux中的sh指向哪,什么是Linux的Shell脚本和怎么执行脚本?
1.什么是Shell?shell shell是外壳的意思,就是操做系统的外壳.咱们能够经过shell命令来操做和控制操做系统,好比Linux中的Shell命令就包括ls.cd.pwd等等.总结来讲,S ...
- shell开发跳板机功能脚本
利用Shell开发跳板机功能脚本案例 范例17_6:开发企业级Shell跳板机案例.要求用户登录到跳板机仅能执行管理员给定的选项动作,不允许以任何形式中断脚本到跳板机服务器上执行任何系统命令 方法1: ...
- shell指令可以直接在终端输入吗_简化shell终端命令输入的脚本式快捷键工具
1.解决的问题 当你需要一次输入很多个命令的时候,例如一次去多个目录删除文件 cd dir1 rm file1.temp cd ../../dir2 rm -rf dir3 当你懒得输入一个好长的命令 ...
- shell编程系列26--大型脚本工具开发实战
shell编程系列26--大型脚本工具开发实战大型脚本工具开发实战拆分脚本功能,抽象函数1.function get_all_group 返回进程组列表字符串2.function get_all_pr ...
- mongo shell连接到mongoDB及shell提示符下执行js脚本
同mysql数据库类似,mongoDB也可通过mongo客户端连接到mongod服务器来进行绝大多数日常管理.这个命令行工具就是mongo,在mysql中则是mysql.通过mongo命令可以连接到本 ...
- shell不允许输入空字符_shell脚本编程之控制脚本
点蓝色字关注"CurryCoder的程序人生" 微信公众号:CurryCoder的程序人生 欢迎关注我,一起学习,一起进步! 1.引言 目前为止,运行脚本的唯一方式是以实时模式在命 ...
- 6条shell小技巧,让脚本显得不再业余
6条shell小技巧,让脚本显得不再业余 原创作者: 58沈剑 来自公众号:架构师之路 画外音:说实话,技术思路类文章(WHY, HOW),比技术实践类(WHAT)更难写. 如何能让自己的shell显 ...
- linux命令封装sh,shell脚本学习之调用脚本将文件打包zip的方法示例
前言 本文主要给大家介绍的是关于调用脚本将文件打包zip的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍: 最近刚刚接触shell脚本,写了一点简单的练手.这里是用python调用脚本执行 ...
最新文章
- win10 UWP 应用设置
- 如何修改xd.properties文件中对象存储文件信息_对块存储、文件存储、对象存储的认识总结...
- 【NLP】有三AI NLP知识星球来了,仅此一家别无分店
- java 手写缓存,java手写多级缓存
- SparkSQL读取hive中的数据,行转列的两种方式【行转列专用函数,UDAF】
- android一些小技巧
- 选择符合语义的html标签,最容易犯的HTML标签错误写法
- 决策树的python实现
- UIButton @selector 想要传递多个参数
- Java前后端分离第三方登录_网站前后端分离情况下如何实现QQ微信等第三方登陆-Fun言...
- 椭圆极点极线性质_圆锥曲线的统一性质
- windows_2008_server无法安装vcredist_x64
- 创业者防坑手册:面对强大的资本力量,你该如何正当防卫?
- phyton的函数与类的学习
- 理解Mybatis一级缓存,以及如何真正使用到一级缓存
- 机器学习中的启发式算法(heuristic algorithm)
- App陷阱防不胜防:欺骗误导用户下载App、欺骗误导用户提供个人信息
- hdu4417 Super Mario(树状数组+离线区间操作)
- 皕杰报表图表钻取超链接
- 树的结点?结点的度?
热门文章
- SAP FI中配置“特别总帐标志” SGL
- 【AAAI 2020】全部接受论文列表(四)
- 智能化招聘管理系统Moka完成B轮1.8亿人民币融资,高瓴资本领投...
- Tensorflow多GPU使用详解
- 十一届中国大学生计算机设计大赛,我校在2018年(第十一届)中国大学生计算机设计大赛中再获佳绩...
- 2022-3-13 MIT lab1 到 lab2 代码的切换
- 医院HIS系统与电子病历系统有什么关系
- 物流信息管理php,物流信息管理平台设计与实现PHP1012(毕业设计+论文)
- cfa英语不好的怎么学_英语基础差,该怎么学习CFA?
- 乐行科技获2540万元天使融资,投资方为英诺天使