bash基础特性
变量类型:
决定了数据存储格式,存储空间大小,参与运算种类
根据作用域划分
本地变量:生效范围为当前shell进程,对子shell无效
环境变量:生效范围为当前shell进行,对子shell有效
声明方式:declare -x name=value
局部变量:当前shell进程中某代码片段(通常指函数上下文)
位置变量:$1, $2用于脚本接收命令行传递的参数
特殊变量:bash内置的
$?:上一条命令的返回状态
$0:命令本身 也可以看作是位置变量
$*:传递给脚本的所有参数,所有参数当作一个字符串
$@:传递给脚本的所有参数,所有参数各自当作单独字符串
$#:传递给脚本的参数个数,不包含命令本身
$PS1:终端开头的显示规则
本地变量
赋值:name='value' 或 name="value" 强/弱引用
变量引用:name="othername"
命令引用:命令结果赋给变量
name=`COMMAND`
name=$(COMMAND)
引用:${name} $name
" ":弱引用,其中变量引用会被替换为变量值
' ':强引用,其中变量引用不会被替换为变量值
显示已有的本地变量:set
销毁变量:unset name 不用加$,直接指定变量名
环境变量
变量声明,赋值:
export name=value
declare -x name=value
也可以分为两步:
name=value; declare -x name
显示所有的环境变量:
export
env
printenv
销毁:unset name
只读变量:相当于常量,不能被改值,不能被销毁
readonly name
网友评论