shell: 命令解释器 、方向盘,作为内核与用户的接口。bash是它的一种
tips:
- subshell:shell的子进程。 点命令是在subshell里执行脚本的。
- echo -e // e参数表示遇到转义字符,需要处理,而不是一味的打印出来。
- 批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
- 在脚本环境下 冒号起分隔符作用
- 内建命令:bash自身提供的子函数,执行效率比系统命令快,不用fork。
- & -- 后台运行命令
重定向:
prog > out.txt //以覆盖方式将正确数据输出到指定的文件或设备上。
prog >> out.txt //双重重定向,以添加方式,不覆盖
prog 2> out.txt //只对错误信息输出
< 可将原由键盘输入的数据 (cat>catfile //按ctrl+d退出) 改为由文件内容来替代(cat>catfile< file.txt)
环境变量:
将自个定义的本地变量定义为系统环境变量,保存在shell进程的环境变量表中
export xx=xx:$PATH //自定义路径时,如果有重复的路径,比如多export一次,则优先取前面的先执行。
shell命令执行四步骤:
- 绝对路径or相对路径,如果是前者,会立即执行。
- 是否别名
- 内部or外部命令
- 在PATH变量定义的路径中寻找命令文件
shell函数查询:
- findstring | $(findstring <substr>,<str>) //在str字串中查找substr子串,如果找到,返回sub,否则返回空。
bash
echo -e //处理特殊字符
nice https://wiki.ubuntu.com/DashAsBinSh
if 条件判断
[ -a file ] //file存在 则为真
[ -e file ] // file存在 则为真
[ -f file ] // file为常规文件 则为真
[ -n str ] // 字串长度大于0 时为真
参考 https://www.cnblogs.com/liupuLearning/p/6206415.html
看看bashrc吧