为什么要学习shell编程
Linux系统中会大量的使用shell,工作中我们也需要自动化实现业务;例如:自动备份、监控、自动安装服务
shell编程是Linux运维人员必须要会的编程语言。最简单的编程语言
shell、python 是运维人员必须具备的本领
什么是shell
shell就是一个解释器 (翻译官) , 命令行的命令以及脚本都会通过shell解释传给操作系统,处理后再输出给用户
在创建用户时,系统指定的翻译官
shell的分类
C7:sh bash(默认)
Bourne shell
Korn shell
Bourne again shell
C shell
什么是shell脚本
将程序、命令放入文件里执行,这个文件称之为shell脚本文件
工作中最多的编程写脚本,存放在文件里
shell的变量
全局变量(环境变量)
在整个系统中生效、一般是大写、系统中默认就存在一些这样的变量,满足系统和程序运行的需求
自定义环境变量
export(临时生效)
/etc/profile----->~./bash_profile---->~./bashrc---->/etc/bashrc(永久生效)
推荐以后把环境变量放入/etc/bashrc
局部变量(普通变量)
是编写shell脚本最常用的变量
变量名=值
变量名:数字、字母、下划线,不能是数字开头
= :赋值符,把什么东西给谁;赋值符两边不能有空格
值:东西,变量内容
单引号、双引号、反引号、不加引号
let 计算命令
表达式
[] 中括号表达式,中括号里面两端必须要有空格
整数表达式
> -gt
>= -ge
< -lt
<= -le
= -eq
!= -ne
整数表达式符 两端必须要有空格
中括号里面两端必须要有空格
变量和比较的内容,不需要加引号
字符表达式
-z 变量内容长度为0时,为真。zero
-n 变量内容长度不为0时,为真。not zero
a==a 字符串是否相同
循环语句
if 判断句语法
if [ 表达式 ]
then
命令
fi
read 读取用户输入
-p 提醒
-t 多长时间内等待输入
特殊位置变量
$1 脚本文件的第一个参数
$2 脚本文件的第二个参数
for循环语句
for n in 取值列表
do
执行命令
done
说明
1) 字符串要加双引号