day 28

1、Shell编程
1.为什么要学习Shell编程?
Linux系统中会大量的使用Shell,工作中我们也需要自动化实现业务,
例如:自动备份、监控、自动安装服务。
Shell编程是Linux运维人员必须要会的编程语言。最简单的编程语言。
编程也是运维人员必须具备的本领:
Shell、Python是运维人员必须具备的本领
2.什么是Shell?
Shell就是一个命令解释器(翻译官),命令行的命令以及脚本都会通过shell解释,
传给操作系统,处理后在输出给用户。
2、Shell的分类

  1. Bourne shell
    Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again Shell(bash)三种类型。
  2. C shell
    C shell又包括csh、tcsh两种类型。
    C7支持的shell:
    [root@oldboyedu ~]# cat /etc/shells
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    /bin/sh是bash的软连接
    3、C7:默认Shell
    4、什么是Shell脚本?
    程序、命令放入文件里执行,这个文件称之为Shell脚本文件。
    工作中最多的编程写脚本,存放在文件里。
    5、Shell变量:
    a.全局变量(环境变量)
    在整个系统中生效、一般是大写、系统中默认就
    存在一些这样的变量,满足系统和程序运行的需求。
    6、自定义环境变量:
    方法1
    export OLDBOY="I am oldboy."
    方法2:
    OLDBOY="I am oldboy."
    export OLDBOY
    老男孩推荐以后把环境变量放入/etc/bashrc
    [root@oldboyedu ~]# tail -1 /etc/bashrc
    export OLDBOY="I am oldboy."
    [root@oldboyedu ~]# . /etc/bashrc
    [root@oldboyedu ~]# echo OLDBOY #<==输出一个变量内容就加变量名
    I am oldboy.
    7、局部变量(普通变量)
    是编写Shell脚本最常用的变量。
    变量名=值
    a=1
    变量名:数字、字母、下划线,不能是数字开头。
    oldboy、 123a、_abc
    = 等号:赋值符,把什么东西给谁。赋值符号两边不能有空格。
    值:东西,变量内容。
    引用内容的符号:单引号、双引号、反引号、不加引号
    8、表达式
    1.[ 表达式 ]中括号表达式,中括号里面两端必须要有空格。
    字符串要加双引号
    [root@oldboyedu ~]# [ "a" = "b" ] && echo 1||echo 0
    0
    [ "a" = "b" ] && echo 1||echo 0
    如果表达式成立,打印1,否则打印0.
    [ "a" = "b" ] && echo 1 #跟屁虫。
    如果表达式成立,打印1
    [ "a" = "b" ] || echo 0 #杠精。
    如果表达式成立是假的,打印0
    取反:
    [ ! "a" = "b" ] && echo 1
    2.整数表达式:> -gt

= -ge
< -lt
<= -le
= -eq
不等于 -ne
1)整数表达式符 两端必须要有空格
2)中括号里面两端必须要有空格。
3)变量和比较的内容,不需要加引号。
3.字符表达式:
-z 变量内容长度为0时,为真(表达式正确)。zero
-n 变量内容长度【不】为0时,为真(表达式正确)。not zero
a == a 字符串是否相同
说明:
1)字符串要加双引号
4.shell判断句:
如果...那么。
如果[ 你是潜力股 ]
那么
就和你谈朋友
否则
拜拜
果如

5.if判断句语法:
if [ 表达式 ]
then
命令
fi
6.练习题:Shell编程实现 两个整数比较大小

微信截图_20190409191041.png

7.特殊位置变量:
1
2
8.for循环
for n in 取值列表
do
执行命令
done
9.例题:打印10.0.0.1--10.0.0.254个Ip地址
微信截图_20190409192045.png

9、书写脚本习惯:
1.以.sh结尾。
2.脚本开头第一行 #!/bin/bash 脚本内容由谁解释。
由于Linux下默认是bash,所以也可以不写这一行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Shell编程基础 1、为什么要学习Shell编程? Shell编程是Linux运维人员必须要会的编程语言。最简单...
    高博666阅读 638评论 0 0
  • 作者:马帅琦 归档:day28 时间:2019/4/9 Shell编程3小时光速入门 因为Web集群架构会用到Sh...
    马帅琦阅读 388评论 0 0
  • Shell编程3小时光速入门 1、为什么要学习Shell编程? Linux系统中会大量的使用Shell,工作中我们...
    王苗_0859阅读 167评论 0 0
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,911评论 0 10
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,522评论 0 5