NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
## **bash中的变量种类** >[info] 根据变量的生效范围等标准: > > * 本地变量 : 生效范围为当前shell进程,对当前shell之外的其他shell进程,包括当前shell的子shell均无效。 > > * 环境变量 :生效范围为当前shell进程及其子进程 \[ declare -x name=val \] > > * 局部变量 :生效范围为当前shell进程中某段代码片段(通常指函数) > > * 位置变量 :$1 ,$2 ,$3 .... 来表示,用于让脚步在脚步中调用通过命令行传递给它的参数 > > * 特殊变量 :$? , $0 , $\* , $@ , $# > > $? : 上一个命令的执行结果 > > $0 : 执行的函数名 >[success] 本地变量 : > > 变量赋值 : name=“value” > > 可以执行引用 : > > value: > > (1) : 可以是直接字串 name="username" > > (2) : 变量引用 : name="$username" > > (3) : 命令引用 : name=`COMMAND` , name=$(COMMAND) > > > 变量引用 : $name , ${name} > > > "" : 强引用 > > > '' : 弱引用 > > > 显示已经定义的变量: **set** > > > 销毁变量 : **unset name** >[warning] 环境变量 : > > 变量声明 、赋值 : > > export name="value” > > declare -x name="value” > > 变量引用 :(同上) > > > 显示所有环境变量: **export ,env ,printenv** > > > 销毁变量 **unset name** >[danger] bash 有许多内建的环境变量 : PATH , SHELL , HISTORY , HONE ,PWD ,OLD ,HISTFILE ,PS1 >[danger] 变量命名法则: > > 1 、不能使用程序中保留字 : if for > > 2 、只能使用数字,字母及下划线,且不能以数字开头 > > 3 、见名知义 >[danger] 只读变量: > readonly name > declare -r name >[success] 位置变量: > 在脚本代码中调用通过命令行传递给脚本的参数 > > $1 , $2 ... 对应调用第一第二个参数 > > $0 : 命令本身 > > $\* : 传递给脚本的所有参数:字符串 > > $@ : 传递给脚本的所有参数:数组 > > $# : 传递给脚本参数的个数