变量(variable)就是内存中一个命了名的临时存储区
变量分为以下三类
- 自定义变量
- 环境变量
- 位置参数变量
变量赋值
自定义变量
对于自定义变量,赋值方法如下面的例子
var1=xibei
unset var1进行赋值时,应遵守如下规则
- 变量不可以用数字开头
- 默认变量为字符串
- =两侧不可以有空格
对于变量的调用,使用 $
echo $var1Tips
调用变量名时,可以使用花括号以避免歧义,如:
$sample${sample}
Important
自定义变量只对当前终端/shell 有效
环境变量
对于环境变量,赋值与删除方法如下面的例子
export catname=xibei
unset catname重要的环境变量是 PATH,这是一个用冒号分隔的目录列表,系统会按顺序在这些目录中查找并执行你输入的命令。
将 shell脚本写入 PATH,则可以直接调用
位置参数变量
位置参数变量可以用如下脚本进行演示,命名为 position.sh
#!/bin/bash
echo "当前脚本名称为:$0"
echo "脚本后的第一个参数为:$1"
echo "脚本后的第二个参数为:$2"
echo "命令行中参数的个数为:$#"
echo "当前命令行所有参数为:$*"运行脚本,观察返回值
bash script.sh 12 23
当前脚本名称为:position.sh
脚本后的第一个参数为:12
脚本后的第二个参数为:23
命令行中参数的个数为:2
当前命令行所有参数为:12 23综上,位置参数变量是用于在shell脚本中接收和处理命令行参数的预定义变量。
它们允许脚本动态地获取用户输入,其中 $0 表示脚本名称,$1、$2 等表示第1、2个参数,$# 给出参数个数,$* 则代表所有参数。
通过这些变量,脚本能够根据不同的调用参数执行相应的操作,增强了灵活性和重用性
Analogy
有点像在 python 中向自定义函数传递参数的过程