02_Shell 基础 - Bash 变量

本文详细介绍了Bash Shell中的变量,包括用户自定义变量、环境变量、位置参数变量和预定义变量。讲解了变量的设置规则、分类、数值运算以及内容替换,还提到了如何设置环境变量和使用预定义变量。通过本文,读者可以深入理解Bash Shell中的变量使用。

Bash 变量

1. 用户自定义变量

1.1 什么是变量

变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或者是一个数字,就把它放在一个变量中。每个变量都有一个名字,所以很容易引用它。

使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。

1.2 变量设置规则

  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。”2name" 是错误的变量名。

  • 在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。

  • 变量用等号连接值,等号左右两侧不能有空格。

  • 变量的值如果有空格,需要用单引号或双引号包括。

  • 在变量的值中,可以使用“"转义符。

  • 如果需要增加变量的值,可以进行变量值的叠加。不过变量需要用双引号包括“ 变 量 名 ” 或 用 变量名”或用 {变量名}包含。

  • 如果要把命令的结果作为变量值服务变量,则需要使用反引号或 $() 包含命令。

  • 环境变量名建议大写,便于区分。

1.3 变量分类

  • 用户自定义变量
  • 环境变量:这种变量中主要保存的是和系统操作环境相关的数据。
  • 位置参数变量:这种变量主要用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
  • 预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。

1.4 本地变量

用户变量也称为本地变量
1
变量aa后追加456,再追加789
在这里插入图片描述

2. 环境变量

2.1 环境变量是什么

用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。

2.2 设置环境变量

export 变量名=变量值
# 申明变量

env
# 查询变量

unset 变量名
# 删除变量

pstree
# 确定进程数

2.3 系统常见环境变量

1
PATH 搜索路径 查找命令

3
4

3. 位置参数变量

3.1 位置参数变量

12

vim canshu.sh
#!/bin/bash
echo $0
echo $1
echo $2

例子2

#!/bin/bash

$1 代表第一个参数
$2 代表第二个参数
num1=$1
num2=$2
sum=$(($num1 + $num2))
# 变量sum的和是num1加num2
echo $sum
# 打印变量sum的值

# 赋予执行权限
chmod 755 canshu2.sh
# 输入两个参数
./canshu2.sh 11 22

例子3
12
例子4
在这里插入图片描述

$* 把所有参数看成一个整体,双引号括起来
$@ 把每个参数看成独立的个体,双引号括起来

4. 预定义变量

4.1 预定义变量

21
$?代表上一条命令是否被正确执行。

echo $?

22

4.2 接收键盘输入

33
在这里插入图片描述

5. 数值运算与运算符

5.1 declare 声明变量类型

在这里插入图片描述

aa=11
bb=22
cc=$aa+$bb
echo $cc
> 11+22
declare -p aa
> declare -- aa='11'

# 声明为环境变量
export aa  
declare -p aa

declare -i cc=$aa+$bb
> 33

方法二:expr 或 let 数值运算工具
33
方法三:“$((运算式))”或“$[运算式]”
44

5.2 运算符

23
24

6. 变量测试与内容替换

61
通过 x 值来判断 y 值,系统支持,更简洁更有效。
不推荐或没必要背下来,会使用就够了。
62
63

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值