Linux学习 -- Shell基础 -- Bash变量


变量

  默认是字符串型,数值型需要显示指定

  等号两侧都不能有空格

  单引号:原始字符串  双引号:保留转义

  命令结果作为值:反引号 或 $()

  环境变量一般用大写


自定义变量

  变量定义    name="xx oo"

  变量叠加    aa=123   aa="$aa"456  aa=${aa}789

  变量调用    echo $aa

  变量查看    set

  变量删除    unset aa


环境变量

  用户自定义变量 -- 只在当前Shell中生效

  环境变量 -- 当前Shell和所有子Shell中都生效,

         如果写入配置文件,则会在所有Shell中都生效

  设置环境变量

    声明

      export name=sqd

      sex=male    export sex

    查询  env

    删除  unset

  PATH -- 系统查找命令的路径

    添加路径  PATH="$PATH":/root/

  PS1 -- 定义系统提示符的变量

    默认  PS1='[u@h W]$ '

    修改  PS1='[u@ w]$ '

    

   


位置参数变量

  变量名和作用都是固定的,只能传入不同的值

   


预定义变量

  

 

接收键盘输入

  read [选项] 变量名

    -p "提示信息"

    -t 秒数

    -n 字符数

    -s            隐藏


数值运算与运算符

  declare声明变量类型

    declare [+-] [选项] 变量名

      -: 设定类型属性

      +:取消类型属性

      -i:integer

      -x:环境变量

      -p:显示指定被声明的类型

  数值运算

    方法一:

      declare -i c=$a+$b

    方法二:

      d=$(expr $a + $b)    #加号两侧有空格

    √方法三:

      $((运算式)) 或 $[运算式]

  运算符

    


变量测试与内容替换

  通过x的值,测试y的情况

  


环境变量配置文件

  source命令  -- 使配置文件直接生效

      source 配置文件   或   . 配置文件

  系统中环境变量配置文件的位置

    /etc/profile

    /etc/profile.d/*.sh

    ~/.bash_profile

    ~/.bashrc

    /etc/bashrc

    

  其他环境变量配置文件

    注销时生效的:~/.bash_logout

    历史命令:~/.bash_histoty

    

    Shell登录信息:

      本地终端登录信息:/etc/issue

        

      

      远程终端登录信息:/etc/issue.net

        不能使用转义符,只能显示纯文本

        是否显示信息,由ssh的配置文件/etc/ssh/sshd_config决定

          加入"Banner /etc/issue.net"才能生效(重启sshd)

      登录后显示信息:/etc/motd

        本地和远程都能显示

KEEP LEARNING!
原文地址:https://www.cnblogs.com/roronoa-sqd/p/4887219.html