bash中的变量

变量类型:

  数据存储格式、存储空间大小、参与运算种类:

  字符型

  数值型:整形、浮点型

  强类型:定义变量时必须指定类型、参与运算必须符合类型要求。

  弱类型:无需指定类型,默认均为字符型,参与运算会自动进行隐式类型转换。

bash中的变量的种类:

  根据变量的生效范围等标准:

    本地变量:生效范围为当前shell进程:对当前shell之外的其他shell进程,包括当前shell的子shell进程均无效。

    环境变量:生效范围为当前shell进程及其子进程。

    局部变量:生效范围为当前shell进程中某代码片段(通常指函数)

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

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

  本地变量:

    变量赋值:name=‘value’

      可以直接引用:

        value:

          (1)可以使直接字符串:name=“username”

          (2)变量引用:name=“$username”

          (3)命令引用:name=`COMMAND`,name=$(COMMAND)

    变量引用:${name},$name

      "":弱引用,其中的变量引用会被替换为变量值

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

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

    销毁变量 : unset name

  环境变量:

    变量声明、赋值:

      export name=VALUE

      declare -x name=VALUE

    变量引用:$name,${name}

    显示所有环境变量:

      export  env  printenv

    销毁:unset name

    bash中有许多内检的环境变量:PATH、SHELL、UID、HISTSIZE、HOME、PWD、OLD、HISTFILE、PS1

  变量命名法则:

    1、不能使程序中的保留字,例如if、for;

    2、只能使用数字、字母及下划线,且不能以数字开头;

    3、见名知意,通俗易懂。

  只读变量:

    readonly name

    declare -r name

  位置变量:

    在脚本代码中调用通过命令行传递给脚本的参数:

      $1,$2,……:对应调用第1,2等参数

      $0:命令本身

      $*:传递给脚本的所有参数

      $@:传递给脚本的所有参数

原文地址:https://www.cnblogs.com/nefu-Lc/p/9482792.html