bash变量类型:
环境变量,本地变量,位置变量,特殊变量。
本地变量:
bash:
VARNAME=value :整个bash进程
local varname=value: 只对当前代码段有效
打开个一个子shell, echo$NAME为父shell,所以为空
引用变量:
$(value),括号可省略。
那么什么时候加什么时候不加呢,看下面的例子:
并且单引号不做替换,它是强引用。
环境变量:
export varname=value;
注意:任意脚本在执行时会启动一个子shell进程:命令行中启动脚本会继承当前shell环境变量。
系统自动启动的脚本就需要自我定义需要各环境变量。
环境变量只跟当前shell和子shell有关系:
位置变量:
$1,$2,$3........引用脚本的参数的。
特殊变量:
$?:保存上一个命令执行状态返回值 。
程序执行,可能有2类返回值:
状态码:0:正确执行,1--255:错误执行,1 , 2, 127系统预留
输出重定向:
>:覆盖
>>:追加
2>:错误
2>>错误追加
$>:同时
/dev/null :软件设备 ,数据黑洞
撤销变量:unset
查看当前系统shell变量:set;
弱类型:不做运算:
脚本的编写:命令的堆砌;
shebang:魔数
网友评论