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脚本初级教学(从基本脚本开始学起)相关推荐

  1. shell实例第19讲:一个脚本中调用另一个脚本的3种方法

    在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...

  2. Linux下shell脚本之双色球摇号脚本

    Linux下shell脚本之双色球摇号脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.编写脚本Lottery.sh,模拟摇号过程 2.6位数 ...

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

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

  4. linux fork脚本,在Shell脚本中调用另一个脚本的三种方式讲解

    先来说一下主要以下有几种方式: fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. exec: exec path/to/foo.sh s ...

  5. 【Shell】Shell脚本中调用另一个脚本的三种方式(fork/exec/source)

    先来说一下主要以下有几种方式: (1)fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. (2)exec: exec path/to/fo ...

  6. shell获取脚本本身名称_linux,shell脚本中获取脚本的名字,使用脚本的名字。

    需求描述: 写shell脚本的过程中,有时会需要获取脚本的名字,比如,有的时候,脚本 中会有usage()这种函数,可能就会用到脚本的名字. 实现方法: shell脚本中,通过使用$0就可以获取到脚本 ...

  7. Shell进阶(三) 交互式脚本 函数 数组 分片 字符串处理

    1.函数介绍 函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部 ...

  8. curl批量调用linux,shell的简单批量curl接口脚本

    shell脚本可以说作用非常大,在服务器领域,用shell操作事务可比手动点击要方便快捷得多了.虽然只是文字界面,但是其强大的处理功能,会让各种操作超乎想象.而且,也可以将这些习惯移植到日常的工作当中 ...

  9. 整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新!

    整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新! 一.ffmpeg脚本 1.1 打开进程,并判断进程数量 1.2 关闭进 ...

最新文章

  1. 洛谷P4550 收集邮票(概率期望)
  2. 局部保留投影(LPP)推导
  3. 强化学习(二)马尔科夫决策过程(MDP)
  4. 【mybatis】 “if“ 相关联的 “test“ 属性值不能包含 ‘<‘ 字符
  5. git安装【Windows】
  6. 微软ODBC服务器驱动,解决安装SQL Server时[Microsoft][ODBC 驱动程序管理器] 未发现数据源的问题...
  7. Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗
  8. CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查
  9. Java基础练习之流程控制(二)
  10. Linux创建与删除用户
  11. 个别省通知!研究生推迟开学不停学!毕业答辩可采用远程视频方式
  12. luogu_P4767 [IOI2000]邮局
  13. ISO27001认证适用领域及认证流程
  14. Hive下载安装及配置
  15. fiddler抓包HTTPS请求
  16. 出栈顺序判断问题——划线法
  17. springboot+基于Web的开关柜综合监测信息查询系统的设计与实现 毕业设计-附源码191550
  18. 一个人,仅30天!开发一款3D竞技足球游戏!他究竟经历了些什么?
  19. debian linux手机安装,在 Android 系统上安装 Debian Linux 与 R
  20. Python 模拟Hermite Polynomial厄米特多项式

热门文章

  1. SQL压力测试用的语句和相关计数器
  2. 高并发大型网站架构设计
  3. 使用 .NET 实现 Ajax 长连接
  4. ASP.NET2.0 永恒密码之戒【月儿原创】
  5. linux的根文件系统中的proc文件夹详解
  6. Ubuntu 14.04上使用CMake编译MXNet源码操作步骤(C++)
  7. 图像处理库(fbc_cv):源自OpenCV代码提取
  8. 在图像变换中用最小二乘法求解仿射变换参数
  9. 【GStreamer】使用capsfilter设置x264enc中的profile级别
  10. ajax请求必须打断点才能成功,Jquery等待ajax执行完毕继续执行(断点调试正常,运行异常)...