bash 变量类型

1、本地变量

  变量赋值:  a=123  a="$others" a=``  a=$(COMMAND)

  变量引用:$a  ${a}

  查看变量:set 

  取消变量:unset

2、环境变量

  声明赋值:export               declare -x

  变量引用:$a  ${a}

  查看变量:env export printenv

  取消变量:unset

3、局部变量

  当前shell进程中的某代码片段

4、位置变量

  $1 $2 $n  

  通过Shift可以改变变量位置

5、特殊变量

  $? $0 $# $* $@

6、只读变量

  readonly

  declare -r

转载于:https://www.cnblogs.com/yaoguoguo/articles/7215385.html

### 如何在Bash脚本中定义和使用变量 #### 定义变量 在 Bash 中,可以通过简单的赋值语句来定义变量。需要注意的是,在变量名和等号之间不能有任何空格,并且变量名只能由字母、数字和下划线组成,不能以数字开头[^2]。 以下是几种常见的变量定义方法: 1. **字符串变量** 如果要定义一个字符串类型的变量,可以直接赋值: ```bash my_variable="Hello, World!" ``` 2. **数值变量** 对于整数或其他数值型数据,也可以直接赋值: ```bash my_number=42 ``` 3. **引用其他变量** 可以在一个新变量中引用已经存在的变量值: ```bash another_variable="$my_variable something extra" ``` 4. **命令替换赋值** 使用命令的输出作为变量的值时,可以采用以下形式: ```bash file_contents=$(cat somefile.txt) ``` #### 访问变量 为了访问变量的内容,需要在其前面加上美元符号 (`$`) 或者 `${}` 结构。推荐使用后者,尤其是在复杂表达式中,以便更清晰地标记变量边界[^2]。 ```bash echo "$my_variable" ``` 如果变量值可能包含特殊字符或空白符,建议始终用双引号包裹变量,防止意外解析错误。 #### 设置环境变量 除了普通的脚本变量外,还可以通过 `export` 命令将某个变量提升为全局可用的环境变量。这使得该变量不仅限于当前 Shell 脚本内部,还能传递到其派生的所有子进程中[^1]。 示例如下: ```bash export MY_ENV_VAR="This is an environment variable." ``` 之后即可像普通环境变量一样调用它: ```bash echo "$MY_ENV_VAR" ``` #### 特殊注意事项 - **只读变量** 利用 `readonly` 关键字可声明不可更改的只读变量,这种特性非常适合用来保存固定不变的数据项,例如数学常量 π 等[^5]。 ```bash readonly PI=3.141592653589793 ``` - **局部作用域与全局作用域的区别** 默认情况下,未加修饰词的变量仅存在于定义它的函数体内(如果是函数内的变量),而显式标记为 exported 后则成为整个系统的共享资源。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值