shell脚本初级教学(从基本脚本开始学起)
shell脚本的意义就在于实现以后的自动化运维,Linux其实也是基于shell脚本的
所以我今天给大家教两个简单的脚本,并且解释.
第一个抽奖脚本:
思路:首先创建一个vim文件
[root@server0 ~]# vim /root/choujiangjiaoben.sh // (sh结尾是给自己一个是shell脚本的注释)
#!/bin/bash // (以shell脚本写的都是以这个开头,并没有为什么,别多想了,老哥..)
read -p '请输入1-10之间的一个号码:' num1 // (read -p 代表在脚本执行到这里的时候暂停 num1是各户端需要输出的数字,你也可以随笔命名 但是一定要和后面的 $num1 一致
num2=$(echo $RANDOM % 10 | bc) //(一种数学上的东西 RANDOM代表出现一个随机数 % 10 是让这个数小于10 |bc 是管道给计算机
if [ $num1 -eq $num2 ];then //意思就是客户端输出的结果等于系统随机的数字 假如相等则输出 -eq(等于)
echo 恭喜您,中奖了
else //意思是输出结果不相等的话 则输出下面的内容
echo 谢谢惠顾!
echo $num2 // 最后两条是给客户端一个反馈
fi // (然后以fi结尾,这个也没有为什么,不要多想...)
~
验证:chmod +x /root/choujiangjiaoben.sh
[root@server0 ~]# vim /root/choujiangjiaoben.sh
[root@server0 ~]# /root/choujiangjiaoben.sh
请输入1-10之间的一个号码:1
谢谢惠顾!
2
第二个是创建用户的脚本,都是基础入门脚本类型了;
用户输入一个用户名,判断用户是否存在
如果存在 输出用户/etc/passwd相应一行
如果不存在 则创建该用户
[root@server0 ~]# vim /root/6.sh
read -p '请输入一个用户名:' user
id $user &> /dev/null //判断是否有这个文件名 并且把输出结果丢掉,客户端就不会看到了
if [ $? -eq 0 ];then //$?=0的话代表前一个输出结果正确 ,就是已经拥有了这个用户grep $user /etc/passwd //输出这个用户的基本信息else //如果输出结果是1的话就代表并没有这个用户useradd $user //那么为这个客户端创建这个用户echo $user 创建成功fi
验证:
[root@server0 ~]# chmod +x /root/chuanjianyonghu.sh
[root@server0 ~]# /root/chuanjianyonghu.sh
请输入一个用户名xiao
xiao 创建成功
[root@server0 ~]#
转载于:https://blog.51cto.com/13450663/2045459
shell脚本初级教学(从基本脚本开始学起)相关推荐
- shell实例第19讲:一个脚本中调用另一个脚本的3种方法
在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...
- Linux下shell脚本之双色球摇号脚本
Linux下shell脚本之双色球摇号脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.编写脚本Lottery.sh,模拟摇号过程 2.6位数 ...
- shell不允许输入空字符_shell脚本编程之控制脚本
点蓝色字关注"CurryCoder的程序人生" 微信公众号:CurryCoder的程序人生 欢迎关注我,一起学习,一起进步! 1.引言 目前为止,运行脚本的唯一方式是以实时模式在命 ...
- linux fork脚本,在Shell脚本中调用另一个脚本的三种方式讲解
先来说一下主要以下有几种方式: fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. exec: exec path/to/foo.sh s ...
- 【Shell】Shell脚本中调用另一个脚本的三种方式(fork/exec/source)
先来说一下主要以下有几种方式: (1)fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. (2)exec: exec path/to/fo ...
- shell获取脚本本身名称_linux,shell脚本中获取脚本的名字,使用脚本的名字。
需求描述: 写shell脚本的过程中,有时会需要获取脚本的名字,比如,有的时候,脚本 中会有usage()这种函数,可能就会用到脚本的名字. 实现方法: shell脚本中,通过使用$0就可以获取到脚本 ...
- Shell进阶(三) 交互式脚本 函数 数组 分片 字符串处理
1.函数介绍 函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部 ...
- curl批量调用linux,shell的简单批量curl接口脚本
shell脚本可以说作用非常大,在服务器领域,用shell操作事务可比手动点击要方便快捷得多了.虽然只是文字界面,但是其强大的处理功能,会让各种操作超乎想象.而且,也可以将这些习惯移植到日常的工作当中 ...
- 整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新!
整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新! 一.ffmpeg脚本 1.1 打开进程,并判断进程数量 1.2 关闭进 ...
最新文章
- 洛谷P4550 收集邮票(概率期望)
- 局部保留投影(LPP)推导
- 强化学习(二)马尔科夫决策过程(MDP)
- 【mybatis】 “if“ 相关联的 “test“ 属性值不能包含 ‘<‘ 字符
- git安装【Windows】
- 微软ODBC服务器驱动,解决安装SQL Server时[Microsoft][ODBC 驱动程序管理器] 未发现数据源的问题...
- Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗
- CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查
- Java基础练习之流程控制(二)
- Linux创建与删除用户
- 个别省通知!研究生推迟开学不停学!毕业答辩可采用远程视频方式
- luogu_P4767 [IOI2000]邮局
- ISO27001认证适用领域及认证流程
- Hive下载安装及配置
- fiddler抓包HTTPS请求
- 出栈顺序判断问题——划线法
- springboot+基于Web的开关柜综合监测信息查询系统的设计与实现 毕业设计-附源码191550
- 一个人,仅30天!开发一款3D竞技足球游戏!他究竟经历了些什么?
- debian linux手机安装,在 Android 系统上安装 Debian Linux 与 R
- Python 模拟Hermite Polynomial厄米特多项式
热门文章
- SQL压力测试用的语句和相关计数器
- 高并发大型网站架构设计
- 使用 .NET 实现 Ajax 长连接
- ASP.NET2.0 永恒密码之戒【月儿原创】
- linux的根文件系统中的proc文件夹详解
- Ubuntu 14.04上使用CMake编译MXNet源码操作步骤(C++)
- 图像处理库(fbc_cv):源自OpenCV代码提取
- 在图像变换中用最小二乘法求解仿射变换参数
- 【GStreamer】使用capsfilter设置x264enc中的profile级别
- ajax请求必须打断点才能成功,Jquery等待ajax执行完毕继续执行(断点调试正常,运行异常)...