一、为何要学习shell编程?
Linux系统中会大量的使用shell,工作中我们也需要自动化实现服务。
例如:自动备份、监控、自动安装服务。
Shell编程是Linux运维人员必须要学会的编程语言。最简单的编程语言。
编程也是运维人员必须具备的本领:shell、Python。
二、什么是shell?
shell就是一个解释器,命令行的命令以及脚本都会通过shell解释,传给操作系统,处理后再输出给用户。
创建用户是系统指定的解释器
三、shell的分类
C7支持的shell:
C7默认的shell
四、什么是shell脚本?
程序、命令会放入文件执行,这个文件称之为shell脚本文件。
工作中最多的编程写脚本,存放在文件里
五、shell变量
1、全局变量(环境变量)
在整个系统中生效,一般是大写,系统中默认就会存在一些这样的变量,满足系统和程序运行的需求。
自定义环境变量:
方法1:
export oldboy="I am oldboy."
echo #oldboy
方法2:
oldboy="I am oldboy."
export oldboy
以上均为临时生效,让其永久生效需写入配置文件:
/etc/profile==> ~/.bash_profile===> ~/.bashrc===> /etc/bashrc
推荐将环境变量写入/etc/bashrc 。
2、局部变量(普通变量)
是编写shell脚本最常用的变量。
a. 变量名=值
a=1
变量名:数字、字母、下划线、不能是数字开头。
b. = 等号:赋值符,把什么东西给谁。赋值符号两边不能有空格。
c. 值:东西,变量内容。
引用内容的符号:单引号,双引号,反引号,不加引号。
let===》让括号内的内容进行计算
将变量用{}引起来
六、表达式
[ 表达式 ]:中括号表达式,中括号内两端必须要有空格。
字符串要有双引号。
取反
七、整数表达式
-gt 大于 greater than
-ge 大于等于
-lt 小于 less than
-le 小于等于
-eq 等于 equal
-ne 不等于 not equal
注意:
1、整数表达式符两端必须要有空格
2、中括号内两端要有空格
3、变量和内容比较不需要引号
八、字符表达式
1、-z 变量长度为0时,为真。z为zero
2、-n 变量长度不为0时,为真。not zero
3、a == a 字符串是否相同
说明:字符串要加双引号
九、shell判断句
如果...那么。
格式:
if [ 表达式 ]
then
命令
fi
week 2
week 2
实现多条件用||或&&
十、read命令:读取用户输入
1、-p:"提醒:"
2、-t:"多长时间等待输入"
3、多条件用elif
4、两个整数比较大小
5、特殊位置变量:
$1 脚本文件的第一个参数
$2 脚本文件的第二个参数
boy就是$1输出的结果,girl就是$2输出的结果。
6、赋值
十一、for循环
for n in 取值列表
do
执行命令
done
十二、书写脚本习惯
1、文件名以 .sh结尾
2、脚本开头第一行 #!/bin/bash 脚本内容由谁解释
由于Linux下默认是bash,所以目前不加这行也可以、