shell脚本
1. shell 相当于翻译官 把人类的语言思维解释成计算机能理解的语言
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
…
我们最常使用的是 bash 解释器和 sh 解释器
2.一个规范的脚本具备的格式
1.)声明解释器,作者信息
#!/bin/bash
#作者信息
2.)编写注释,解释脚本的功能
#xxxx
3.)编写代码
echo “xxx”
3脚本的执行方式
1.)给脚本添加x(执行)权限
2.)调用新解释器执行脚本
bash 1.sh #开启一个子进程
3.)使用当前解释器
4常量 和 变量
常量= 不会变化的量
变量= 以不变的数,存放变化的值 (大犇:会变化的量)
变量可以使脚本灵活多变,增加脚本功能,使脚本更加灵活,强大
变量的种类
1.)自定义变量
变量名称=变量的值
变量名可以使用大小写字母,数字,下划线-------不能以数字开头
比如: a=10
echo $a #就会输出10
unset a #取消变量
echo ${a}RMB #输出10RMB
2.)环境变量
UID USER HOME HOSTNAME SHELL PWD PATH
PS1 (一级提示符)
PS2 (二级提示符)
3.)位置变量
$1 $2 $3 … $0
echo $1 执行脚本后第一个参数
echo $2 执行脚本后的第2个参数
echo $3 执行脚本后的第3个参数
echo $0 执行的脚本名
4.)预定义变量
$ $ $# $* $?
echo $ $ 执行脚本时的进程号 #中间没有空格
echo $* 所有位置变量
echo $# 所有位置变量的个数
echo $? 判断上一条指令是否成功,0是成功,非0是失败
5.变量的发布 和 取消
export 发布全局变量,可以使子进程使用父进程定义的变量
export a=10 //定义+发布全局变量
export a //发布全局变量
unset a //取消变量
export -n a //取消全局变量
6.shell脚本中的运算
方法一:expr
\ 转义字符
expr 1 + 1 加
expr 2 - 1 减
expr 2 * 2 乘
expr 4 / 2 除
expr 10 % 3 取余
a=10
expr $a + $a //也支持变量
运算符前后必须带空格
方法二:echo $[ ]
echo $[1+1]
echo $[1-1]
echo
[
a
+
a
]
/
/
调
用
变
量
不
用
多
次
添
加
[a+a] //调用变量不用多次添加
[a+a]//调用变量不用多次添加符号
echo $[1*1] //乘法无需转义
方法三:let
let c=1+1 //通过越算创建新变量
let c=a+1 //可以使用变量
常规思路: 主流写法:(显得专业,而且让别人看不懂)
let a=a+1 let a++
let a=a-1 let a–
let a=a+2 let a+=2
let a*=100 //将a乘100
7.单引号,双引号 和反撇号的应用
" " 双引号 界定范围
‘’ 单引号 界定范围,屏蔽特殊符号的作用
`` 反撇号 或者 $() 获取命令输出的结果
8.查看变量的两个命令
env 可以查看所有的环境变量
set 可以查看国有的变量
解释器存放在 /etc/shells 下