简介
- Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell
- Shell也是一门编程语言<解释型的编程语言>,即shell脚本
- 一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的
变量
- 输出变量的值
- echo $JAVA_HOME
- 定义变量
- 变量=值(例如STR=abc)
- 等号两侧不能有空格
- 变量名称一般习惯为大写
- 双引号和单引号有区别,双引号仅将空格脱意,单引号会将所有特殊字符脱意
- 撤销变量
- A=10
- unset A
- 声明静态变量(不能unset)
- readonly B=20
- 提升为全局变量(仅在当前进程和子进程有效)
- export JAVA_HOME=/root/apps/jdk1.8.0_40
- 将命令的返回值赋给变量
- A=`ls -la` 反引号,运行里面的命令,并把结果返回给变量A
- A=$(ls -la) 等价于反引号
- 特殊变量
- $? 表示上一个命令退出的状态(0表示成功执行)
- $$ 表示当前进程编号
- $0 表示当前脚本名称
- $n 表示n位置的输入参数(n代表数字,n>=1)
- $# 表示参数的个数,常用于循环
- ∗ 和