Linux学习笔记:bash的基础特性之变量

来源:互联网 发布:mac强制关机重启黑屏 编辑:程序博客网 时间:2024/05/16 10:41

变量类型

  • 变量类型决定数据存储格式、存储空间大小和参与运算种类
  • 字符型:
  • 数值型:
    • 整型
    • 浮点型
  • 强类型:定义变量时必须指定类型,参与运算必须符合类型要求,调用未声明变量会产生错误
  • 弱类型:无需指定类型,默认均为字符型,参与运算会自动进行隐式类型转换,变量无须实现定义可直接调用

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)
    • 变量引用:= namename
      • ”“:弱引用,其中的变量引用会被替换为变量值
      • ”:强引用,其中的变量引用不会被替换为变量值,而保持字符串
      • 注:以上name及{name}前均有$,因特殊字符未显示
    • 显示已定义的所有变量
      • set
    • 销毁变量
      • unset name
  • 环境变量:
    • 变量声明,赋值:
      • export name = VALUE
      • declare -x name = VALUE
    • 变量引用:name{name}
      • 注:以上name及{name}前均有$,因特殊字符未显示
    • 显示所有环境变量
      • export
      • env
      • printenv
    • 销毁变量:
      • unset name
    • bash有许多内建的环境变量:PATH,SHLL,UID,HISTSIZE,HOME,PWD,OLD,HISTFILE,PSI
  • 变量命名法则:
    • 1、不能使用程序中的保留字,例如if,for;
    • 2、只能使用数字、字母及下划线,且不能以数字开头
    • 3、见名知义
  • 只读变量:
    • readonly name
    • declare -r name
  • 位置变量:
    • 在脚本代码中调用通过命令行传递给脚本的参数
      • 1,2,$3,…:对那个调用第1,第2,第3等参数
        • shift [n]:轮替,n表示数字 把后面第n个参数轮替到第一个参数
        • 注:1,2前均有$
      • $0:命令本身
      • $*:传递给脚本的所有参数(将所有参数当作一个字符串)
      • $@:传递给脚本的所有参数(将所有参数分为多个字符串)
      • $#:传递给脚本的参数的个数
原创粉丝点击