一、为什么学shell
Linux系统中,大量的使用shell编程,自动化实现业务,备份数据,监控,自动安装服务
二、什么是shell
shell就是一个命令解释器(翻译官),命令行的命令以及脚本都会通过shell解释,传给操作系统,处理后传回给用户
三、shell脚本
程序和命令放入文件里面执行,该文件称为shell脚本
脚本文件的后缀名必须为:.sh
执行脚本文件:bash + 脚本文件(sh + 脚本文件)
四、shell变量
1、全局变量(环境变量)
在整个系统中生效、一般是大写、系统中默认就存在一些这样的变量,用户满足系统和程序运行的需求
系统自带的环境变量有:
$SHELL
$HOME
$UID
$PATH
自定义环境变量:
临时环境变量配置:
用户可以根据需要自己配置环境变量
export:临时配置环境变量
永久生效环境变量配置:
需要把环境变量放入到目录:/etc/profile或者/.bash_profile、/etc/bashrc目录文件当中,可以实现永久生效。、
2、局部变量(普通变量)
编写shell脚本最常用的变量 变量名=值 例如 a=1
变量名:数字、字母、下划线,不能是数字开头。
=等号:赋值符,把什么东西给谁。
值:东西,变量内容。
引用内容的符号:单引号、双引号、反引号、不加引号
3、表达式
表达式:[ option ] 中括号表达式,里面的两边必须要有空格,变量内容的比较内容不用加双引号
例如:[ “a” = “b” ] && echo 1 || echo 0 (表达式成立输出1,不成立输出0)
整数表达式:
-gt -----大于(>)
-lt -----小于(<)
-eq -----等于(=)
-ge -----大于等于(>=)
-le -----小于等于(<=)
-ne -----不等于
例如:
字符表达式
-z 变量内容长度为0时,为真(正确)
-n 变量内容长度不为0时,为真
a == a 字符串是否相同
说明:字符串要加双引号
例如:
if判断语句格式
if [ 表达式 ]
then
(判断后执行此语句)
elif [ 表达式]
then
(判断后执行此语句)
else
(判断后执行此语句)
fi (结束)
read -p(参数) :手动输入数值
例如:
判断两个数a,b的大小
for语句循环
例如:打印10个ip地址