在Shell中,系统变量和自定义变量用于存储信息、配置环境和脚本执行时的参数。下面是这两类变量的一些详细信息:
1. 系统变量
系统变量(也称为环境变量)是由操作系统或Shell自动设置的,用于配置系统的行为和存储系统级信息。常见的系统变量包括:
-
$PATH
:指定可执行文件的搜索路径。当你运行一个命令时,Shell会在这些路径下查找相应的程序。echo $PATH
$HOME
:当前用户的主目录。echo $HOME
$USER
:当前登录用户的用户名。echo $USER
$SHELL
:当前使用的Shell的路径。echo $SHELL
$LANG
:系统语言和区域设置。echo $LANG
2. 自定义变量
自定义变量是用户在Shell脚本或命令行中定义的,用于存储特定的值以供脚本或命令使用。自定义变量的使用方法如下:
-
定义变量:
MY_VAR="Hello, World!"
使用变量:
echo $MY_VAR
-
变量名的规则:
- 变量名只能包含字母、数字和下划线(_)。
- 变量名必须以字母或下划线开头。
- 变量名区分大小写(
VAR
和var
是不同的变量)。
-
变量的作用域:
- 局部变量:在当前Shell会话中有效。
- 环境变量:使用
export
命令将局部变量转换为环境变量,使其在子Shell中也可用。
export MY_VAR="Hello, World!"
变量的删除:
使用 unset
命令删除变量
unset MY_VAR
示例:
#!/bin/bash
# 自定义变量
greeting="Hello"
name="Alice"
# 使用变量
echo "$greeting, $name!"
# 修改变量
name="Bob"
echo "$greeting, $name!"
# 系统变量示例
echo "Your home directory is $HOME"