提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
第一章:子串
- 第一章:命令、子串用法、变量、父子shell
- 一、知识点
- 小结
- 二、特殊变量含义
- 三、子串语法
- 四、案例
第一章:命令、子串用法、变量、父子shell
提示:以下是本篇文章正文内容,下面案例可供参考
一、知识点
- 通过sh、bash进入一个子shell,每个子shell的作用域独立,且不能相互访问,通过pstree查看进程树
- 进入一个shell的环境变量加载和初始化顺序是:
/etc/profile、/etc/bastrc(全局环境变量文件)==>~/.bash_profile~/bashrc(用户环境变量文件) - name=
ls
,反引号的赋值意思是:
将ls命令执行的结果赋值给name变量,例子:echo name=ls
> shell.sh - 通过sh、bash 执行shell脚本是开启了一个子shell因此不会保留脚本当前的变量;通过source或则点号执行脚本,意味着是在当前shell环境执行脚本,因此保存脚本变量到当前shell中
- 单引号变量,不识别特殊语法;双引号变量识别特殊语法
- 创建进程列表(一条命令行同时执行多条命令):
在当前shell运行进程列表:ls;pwd;echo $BASH_SUBSHELL
开启一个子shell运行进程列表:(ls;pwd;echo $BASH_SUBSHELL)
多个子shell嵌套:(ls;(pwd;(echo $BASH_SUBSHELL)) - 内置命令和外置命令:
内置命令:在系统启动时就加载到内存,执行效率更高,但是占用资源
外置命令:系统需要时从硬盘读取程序文件,再读入内存加载(即自用户安装到程序命令)
注意:运行外置命令必然会开启子shell执行,运行内置命令不会
小结
二、特殊变量含义
三、子串语法
printf:该输出会自动识别特殊符号(\n\t\r)
Echo:默认不识别特殊符号(\n\t\r)
Echo -e :识别特殊符号
echo -n :单行输出
四、案例
(1)、子串的应用:批量修改文件名
(2)、拓展变量的使用:数据备份,删除过期数据‘