首页 > 代码库 > linux中的变量

linux中的变量

在bash中,变量分类

    根据生效范围分类

        1、本地变量:只在本shell中有效,对其他shell无效

        2、环境变量:只在当前shell和其子shell中有效。对其他shell无效

        3、位置变量:脚本中的代码可以读取命令行传输的变量    

        4、局部变量:当前shell进程中某代码片段。

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

    

    本地变量

        变量赋值 name="value"

            1、直接赋值:name="value"

            2、变量引用赋值:name="$name"

            3、命令引用赋值:name=`command`   

                    name=$(command)

        变量引用${name},$name

            "":弱引用,变量其中的内容可以替换为变量值

            ‘‘:强引用,变量中的值不能替换为变量值,而保持原字符串

        显示已定义的变量:set

        删除已定义的变量:unset name

    环境变量

        变量赋值export name="value"

            declare -x name="value"

        变量引用:${name}

        变量显示:export

        变量销毁:unset name

    注:在linux中有很多环境变量,尽量不要修改

变量的命名法则

        1、变量有字母,数字和_组成

        2、不能以数字开头,且中间不可以有空格

        3、变量不要出现关键字和保留字

        4、尽量简明并见名知义,例如驼峰法或者下划线法


只读变量:readonly name

     declare -r name

    只读变量不能被修改和销毁,只能在shell进程终止的时候被销毁


位置变量:    $1,$2...对应调用对应的参数

        $0:命令本身

        $*:显示所有的参数,当做一个字符串

        $@;显示所有的参数,每个字符作为一个字符串

        $#:显示所有的参数个数

     

linux中的变量