bash中变量的种类及其用法

根据变量的生效范围等标准划分下面变量类型:

    set:查看所有变量(全局变量,局部变量还有函数)

1.局部变量(标准变量,普通变量):生效范围为当前shell进程---当前会话(session);对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效

echo $$:当前进程编号(4496)
echo $PPID:父进程编号(4272)


直观查看进程父子关系:pstree -p

2.环境(全局)变量:生效范围为当前shell进程及其子进程(export=declare -x|env命令可以查看系统中环境变量)

    第一种定义方法:name=mage------export  name
    第二种定义方法:export name=mage
    第三种定义方法:declare -x name=mage


3.本地变量:生效范围为当前shell进程中某代码片断,通常指函数

4.位置变量:$1, $2, ...来表示,用于让脚本在脚本代码中调用通过命令行传递给它的参数

5.特殊变量:$?, $0, $*, $@, $#,$$

变量赋值:name=‘value’

  • 可以使用引用value:

    • (1) 可以是直接字串; name=“root"
    • (2) 变量引用:name="$USER"
    • (3) 命令引用:name=`COMMAND` name=$(COMMAND)
  • 变量引用:${name} $name

    • "":弱引用,其中的变量引用会被替换为变量值
    • '':强引用,其中的变量引用不会被替换为变量值,而保持原字符串

显示已定义的所有变量:set

删除变量:unset name

posted on 2018-07-22 14:42  圆缘  阅读(4818)  评论(0编辑  收藏  举报

返顶部