bash 变量

时间:2022-07-10 06:58:33

  本地变量:

    变量赋值:name=value

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

        "":变量名会替换为其值

        '':变量名不会替换为其值

    查看变量: set

    撤销变量:unset name

     notice :  此处非变量引用------>>>>此处设置的变量只对当前终端bash/shell起作用  对其子shell 都不起作用

  环境变量:

    变量赋值:

         (1)   export name=value

         (2) name=value;export name

         (3)  declare -x name = value

         (4) name = value ; declare -x name

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

      notice:  bash内嵌了许多环境变量(通常为全大写字符),用于定义bash的工作环境

        PATH, HISTSIZE  HISTFILE HISTFILSIZE HISTCONTROL SHELL HOME UID自己定义的环境变量不能与这些环境变量相互冲突

      查看环境变量: set

              env

              printenv

                 declare -x

              export    以上这些命令都可以查看环境变量

  只读变量:

    (1)  declare -r name

    (2) readonly name

     notice:只读变量无法重新赋值,并且不支持撤销:存活时间为当前shell进程的生命周期,随shell进程终止而终止;  

   变量名:见名知义,命名机制遵循某种法则;不能使用程序的保留字符

   bash特性之多命令执行:

    ~] # COMMON1;COMMON2;COMMON3;..............命令之间没有逻辑关系

  逻辑运算:

    运算数:真(true, yes, on 1)

        假(false,no,off 0)

      与:  1 && 1 = 1

          1 && 0 = 0

          0 && 1 = 0

          0 && 0 = 0

      或:

          1  || 1 =  1

          1  ||  0 =  1

          0  ||  1 =  1

          0  ||  0  =  0

      非:

          ! 1 = 0

          ! 0 = 1

      异或:判断是否不同

            俩个数字运算时的数字不相同为 1    相同则为  0

  短路法则:

    ~] # common1 && common2

      common1为 ‘假’  ,则common2不会再执行

      否则,common1 为‘真’ , 则common2必须执行

    ~] # common1 || common2

      common1 为 ‘真’  则common2 不会执行

      否则,common2执行

    ~] #  id $useraname  || useradd $username