1、shell运行环境概念
- bash是一个进程
- bash下还可以重启一个shell,这个shell 是sub shell ,原shell会复制自身给他
- 在 sub shell 中定义的变量,会随着sub shell 的消亡而消亡
- ()子shell中运行
- {}当前shell中运行
- $$当前脚本执行的pid
- &后台执行
- $!运行在后台的最后一个作业的PID(进程ID)
2、shell环境变量
- shell首先是一个工作环境,有很多变量可以供我们使用
- set可以获得当前所有变量
- env可以获得可以传递给子进程的变量
- export aa=bbb 可以把私有变量导出
3、shell输入输出
- Read用来读取输入,并赋值给变量
- echo,printf可以简单输出变量
- >file 将输出重定向到另一个文件,等价于tee
- >>等价于 tee -a
- <file 输入重定向
- | 表示管道,也就是前一个命令的输出传入下个命令的输入
4、文件描述符
- 输入文件——标准输入0
- 输出文件——标准输出1
- 错误输出文件——标准输出2
- curl
- 使用 2>&1 >/tmp/tmp < /tmp/tmp
5、通配
- bash可以自动扩展特定的关键字
- Echo * 在shell 中表示当前文件
- Echo ???
- 放到引号中可以避免转义
- Echo"*????"