linux命令中变量的使用
linux命令中变量的使用详细介绍
在 Linux 命令行中,变量是存储数据的容器,可用于临时保存数值、字符串等信息,并在后续命令中重复使用。变量的使用是 shell 脚本编程的基础,主要分为自定义变量、环境变量、位置参数和预定义变量几类。
一、自定义变量(局部变量)
由用户临时定义,仅在当前 shell 会话中有效,子 shell 无法直接访问。
1. 赋值与引用
- 赋值语法:
变量名=值(等号两侧不能有空格) - 引用语法:
$变量名或${变量名}(大括号可选,用于明确变量边界)
示例:
bash
"
_"
2. 注意事项
- 变量名区分大小写(
Name和name是不同变量)。 - 值若包含空格或特殊字符,需用引号包裹(单引号保留原内容,双引号解析变量)。bash
"
二、环境变量(全局变量)
环境变量是全局生效的变量,当前 shell 及其子 shell 均可访问,常用于系统配置(如 PATH、HOME)。
1. 查看环境变量
env或printenv:列出所有环境变量。echo $变量名:查看指定环境变量的值(如echo $PATH查看命令搜索路径)。
示例:
bash
2. 定义与导出环境变量
- 临时定义:
export 变量名=值(仅当前 shell 及其子 shell 有效,关闭终端后失效)。 - 永久生效:需将
export 变量名=值写入 shell 配置文件(如~/.bashrc、~/.zshrc或/etc/profile),重启终端后生效。
示例:
bash
3. 删除变量
使用 unset 变量名 删除自定义变量或环境变量。
bash
MY_VAR
三、位置参数(脚本参数)
在 shell 脚本中,通过位置参数接收外部传入的参数,常用符号:
$0:脚本本身的名称。$1、$2...:第 1、第 2 个参数(最多支持 9 个,超过需用${10}格式)。$@:所有参数(以独立列表形式存在)。$#:参数的总个数。
示例脚本(test.sh):
bash
"
"
"
"
"
执行与输出:
bash
./test.sh apple banana
四、预定义变量(系统内置变量)
由系统自动维护的特殊变量,用于获取运行时状态。
$?:上一条命令的退出状态(0 表示成功,非 0 表示失败)。$$:当前 shell 进程的 PID(进程 ID)。$!:最后一个后台进程的 PID。
示例:
bash
/tmp "
/invalid/path "
"
9123456789 /tmp &&
/invalid/path;
总结
Linux 变量的核心是存储和复用数据,通过灵活使用自定义变量、环境变量、位置参数和预定义变量,可以高效完成命令行操作或脚本编程。实际使用中需注意变量的作用域(局部 / 全局)和生命周期(临时 / 永久)。