bash变量

变量的基本解释

变量就是存储空间的内容引用到需要使用的地方,变量名存储就是内存中资源对应的某个地址。

变量赋值:NAME=VALUE
>把VALUE存储到NAME指向的内存空间中;
变量为什么有类型?
- :存储空间、存储格式、参与的运算、……
- 类型不同决定对数据的处理方式不同
变量命名:只能使用字母、数字和下划线;而且不能以数字开头;
  • 变量名:见名知义;不能使用程序保留字,例如if、case、then、fi、esac、for、while、until、break、continue等等;
  • 变量引用
    • NAME,NAME
  • 变量替换:把变量引用符号出现的位置替换为其指向的内存空间中的数据;
bash变量种类:
  • 本地变量:作用域为当前shell进程;不包括其子进程;
    • set 变量名=值
  • 环境变量:使用域为当前shell进程及其子进程;
    • 注意:bash内嵌了许多环境变量,名称为全大写字母,例如UID、HOME、PWD、SHELL, PATH, HISTSIZE等等;
    • 环境变量查看:
      • export, declare -x
      • env, printenv
  • 撤销环境变量:
    • unset NAME
  • 局部变量

    • 作用域:当前代码块
      • local 变量名=值
  • 位置参数变量:

在命令行地方输入脚本参数,第一个参数对应脚本变量$1,第二个对应$2依次自动对应
  • 特殊变量
保持某些特殊数据
        $? 上一个命令执行状态返回值
        $# 参数的个数
        $* 参数列表,引用所有的位置参数
        $@ 参数列表,引用所有的位置参数
        $0  命令本身  脚本本身
  • 本地变量:

变量赋值:NAME=VALUE
查看变量:set
撤销变量:unset NAME

注意:此处非为变量引用,因此不能使用$;
所有的本地变量在shell进程终止时,会被自动撤销;

  • 只读变量:常量

    • (1) declare -r NAME
    • (2) readonly NAME
  • 变量声明和赋值:

    • declare -x NAME[=VALUE]
    • export NAME[=VALUE]

不支持重新赋值,也不支持撤销操作;

# declare -r username=`whoami`
# echo $username
root
# unset username
-bash: unset: username: cannot unset: readonly variable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值