文章目录
Bash 变量
1. 用户自定义变量
1.1 什么是变量
变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或者是一个数字,就把它放在一个变量中。每个变量都有一个名字,所以很容易引用它。
使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。
1.2 变量设置规则
-
变量名称可以由字母、数字和下划线组成,但是不能以数字开头。”2name" 是错误的变量名。
-
在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。
-
变量用等号连接值,等号左右两侧不能有空格。
-
变量的值如果有空格,需要用单引号或双引号包括。
-
在变量的值中,可以使用“"转义符。
-
如果需要增加变量的值,可以进行变量值的叠加。不过变量需要用双引号包括“ 变 量 名 ” 或 用 变量名”或用 变量名”或用{变量名}包含。
-
如果要把命令的结果作为变量值服务变量,则需要使用反引号或 $() 包含命令。
-
环境变量名建议大写,便于区分。
1.3 变量分类
- 用户自定义变量
- 环境变量:这种变量中主要保存的是和系统操作环境相关的数据。
- 位置参数变量:这种变量主要用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
- 预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。
1.4 本地变量
用户变量也称为本地变量

变量aa后追加456,再追加789

2. 环境变量
2.1 环境变量是什么
用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。
2.2 设置环境变量
export 变量名=变量值
# 申明变量
env
# 查询变量
unset 变量名
# 删除变量
pstree
# 确定进程数
2.3 系统常见环境变量

PATH 搜索路径 查找命令


3. 位置参数变量
3.1 位置参数变量

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

例子4

$* 把所有参数看成一个整体,双引号括起来
$@ 把每个参数看成独立的个体,双引号括起来
4. 预定义变量
4.1 预定义变量

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

4.2 接收键盘输入


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 数值运算工具

方法三:“$((运算式))”或“$[运算式]”

5.2 运算符


6. 变量测试与内容替换

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


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

被折叠的 条评论
为什么被折叠?



