shell脚本定义
“为使用者提供操作界面”的软件(命令解析器),它接收用户命令,然后调用相应的应用程序
同时它又是一种程序设计语言。
shell是我们通过命令行与操作系统沟通的语言。
bash脚本解释器
Linux系统中一般默认使用bash作为脚本解释器
shell脚本拓展名
XXX.sh
操作:
指明bash作为脚本编辑器
文件开头写 #! /bin/bash ,指明用bash作为脚本解释器
使脚本成为可执行文件
chmod +x YYY.sh
脚本输出
./YYY.sh 或 ~/YYY.sh 或 bash YYY.sh
单行注释
# + 注释
定义变量
n1=‘123’
n2=“456”
n3=789
变量类型
只读变量
定义只读变量
readonly + 变量
declare + -r + 变量
自定义变量(局部变量)
定义自定义变量
变量=初始化
自定义变量变环境变量
export + 变量
declare + -x + 变量
环境变量(全局变量)
定义环境变量
export 变量=初始化
环境变量变自定义变量
declare + +x + 变量
删除变量
unset 变量
输出
echo “内容”
echo ‘内容’
echo 内容
使用变量
echo $变量
echo ${变量}
echo ${变量}内容
输出中单引号和双引号的区别
单引号: 内容原样输出,不会执行、不会取变量,不会转义
双引号: 内容可以执行、可以取变量,可以转义
获取字符串长度
echo ${#变量}
提取子串 (下标从0开始)
echo ${变量:起始:结束}
文件参数变量
$0 #文件名
$1 #第1个参数
$2 #第2个参数
...
$n #第n个参数
文件传入参数个数
$#
所有参数用空格隔开
$*
所有参数用双引号隔开
$@
脚本当前运行进程id
$$
上一条命令的退出状态:exit code
$?
返回命令的stdout(不可嵌套)
$(命令)
返回命令的stdout(可嵌套)
`命令`