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

image.png
1.3、shell的分类

image.png
1.4、cent0s7默认的shell是bash解释器

image.png
1.5、什么是shell脚本?
程序、命令放入文件里执行,这个文件称之为shell脚本文件。
工作中最多的就是编程写脚本,存放在文件里
1.6、shell变量
1.61、全局变量(环境变量)
在整个系统中生效、一般是大写、系统中默认就存在一些这样的变量,用户满足系统和程序运行的需求

image.png
自定义环境变量用export 临时生效

image.png
永久生效

image.png
1.62、局部变量(普通变量)
是编写shell脚本最常用的变量
变量名=值
例如 a=1
变量名:数字、字母、下划线,不能是数字开头。
=等号:赋值符,把什么东西给谁。
值:东西,变量内容。
引用内容的符号:单引号、双引号、反引号、不加引号

image.png

image.png

image.png

image.png
1.7、表达式
[表达式] 中括号表达式,中括号两边必须要有空格
中括号里面两端必须有空格
变量和比较的内容,不需要加引号
字符串要加双引号

image.png

image.png

image.png
1.71、整数表达式

image.png

image.png
1.72、字符表达式:
-z 变量内容长度为0时,为真(正确)
-n 变量内容长度不为0时,为真
a == a 字符串是否相同
说明:1)字符串要加双引号

image.png

image.png
1.73、 if判断句语法
if 如果 [表达式]
then 那么 命令
else 否则
fi 果如
判断句: 如果。。。那么。

image.png
如果 [你是潜力股]
那么 就和你谈朋友
否则 拜拜
果如

image.png

image.png
1.74、书写脚本习惯
1、以.sh结尾
2、脚本开头第一行#!/bin/bash 脚本内容由谁解释,由于Linux下默认是bash,所以也可以不写这一行
1.75、read命令 读取 用户输入
-p “提醒:"
-t "多长时间等待输入”

image.png

image.png

image.png

image.png
1.76、特殊位置变量:
$1 脚本文件的第一个参数
$2 脚本文件的第二个参数
练习题:Shell编程实现 两个整数比较大小
第一种方法

image.png

image.png
第二种方法

image.png

image.png
1.9、for 循环
for n in 取值列表
do
echo $n
done

image.png
第二章、本章练习题
2.1、打印254个IP

image.png

image.png
2.2、比较整数大小

image.png
2.3、判断日期,每周六日去旅游,其它时间上课。

image.png
2.4、取出当前系统Ip地址,判断是否为10.0.0.31,如果是提示正确,如果不是给出提示。

image.png
2.5 、打印10.0.0.1-10.0.0.254个IP地址,当IP地址为系统IP地址时,给出某IP是系统IP的提示

image.png

image.png
网友评论