一,变量
变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中。变量与值是一对一的关系。大部分编程语言会区分不同类型的变量,shell也是如此。
创建变量:declare
赋值符号:=
读取变量:echo $
二,环境变量
1,三种变量类型
-当前 Shell 进程私有用户自定义变量,如上面我们创建的 tmp 变量,只在当前 Shell 中有效。
-Shell 本身内建的变量。
-从自定义变量导出的环境变量。
2,与三种变量类型相关的命令
set:显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
env:显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
export:显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量
3,按照生存周期来分
永久的:需要修改配置文件,变量永久生效;
临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。
4,变量的修改方式
${变量名#匹配字串}
从头向后开始匹配,删除符合匹配字串的最短数据
${变量名##匹配字串}
从头向后开始匹配,删除符合匹配字串的最长数据
${变量名%匹配字串}
从尾向前开始匹配,删除符合匹配字串的最短数据
${变量名%%匹配字串}
从尾向前开始匹配,删除符合匹配字串的最长数据
${变量名/旧的字串/新的字串}
将符合旧字串的第一个字串替换为新的字串
${变量名//旧的字串/新的字串}
将符合旧字串的全部字串替换为新的字串