bash中变量的种类

Posted lqynkdcwy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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, $*, [email protected], $#,$$

变量赋值:name=‘value’

  • 可以使用引用value:

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

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

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

删除变量:unset name

以上是关于bash中变量的种类的主要内容,如果未能解决你的问题,请参考以下文章

bash变量

玩转Bash变量

玩转Bash变量

[Bash Programming] Variable

Bash的变量类型

sh Bash的代码片段