一、PATH
PATH是Unix和Linux操作系统中非常常用的环境变量,它决定了Shell脚本在执行时可以访问到哪些命令和程序。PATH包含了一系列用冒号分隔的目录,系统默认会在这些目录下查找命令和程序。
有时候我们需要调用自己编写的Shell脚本或者其他程序,如果它们不在系统默认的目录下,就需要将它们所在的路径添加到PATH中。可以通过export命令将路径添加到PATH中:
export PATH=$PATH:/path/to/dir
这样就可以通过Shell脚本调用该目录下的命令或程序。
二、HOME
HOME是表示当前用户的主目录的环境变量,一般默认是/home/username/(username为当前用户的用户名)。在Shell脚本中,可以通过使用$HOME来引用当前用户的主目录。
例如,可以使用以下命令来在当前用户主目录下创建一个名为“test”的文件夹:
mkdir $HOME/test
在脚本中使用$HOME代替用户名,可以使脚本更加通用、可移植。
三、USER
USER表示当前登录的用户的用户名。在Shell脚本中,可以使用$USER来引用用户名。
例如,可以使用以下命令显示当前登录的用户名:
echo "当前登录用户为: $USER"
在自动化部署、配置权限等情况下,$USER是非常常用的环境变量。
四、SHELL
SHELL表示当前默认Shell程序的路径。在Shell脚本中,可以使用$SHELL来引用当前Shell程序。
例如,可以使用以下命令输出当前默认Shell的路径:
echo "当前默认Shell为: $SHELL"
如果需要将当前用户的默认Shell修改为其他类型的Shell,可以使用chsh命令来修改。
五、PWD
PWD表示当前工作目录的路径。在Shell脚本中,可以使用$PWD来引用当前工作目录的路径。
例如,可以使用以下命令在当前工作目录下创建一个名为“test”的文件夹:
mkdir $PWD/test
在Shell脚本中使用$PWD可以使脚本更加通用、可移植。
六、PS1
PS1是Shell命令提示符的环境变量,在Shell脚本中可以通过修改PS1来自定义命令提示符。
例如,可以使用以下命令将命令提示符修改为“[当前用户@当前主机] 当前工作目录> ”:
export PS1='[\u@\h] \W> '
在自定义命令提示符时,可以使用的变量有:
- \u 表示当前用户的用户名
- \h 表示当前主机的名称
- \W 表示当前工作目录的名称
- \$ 表示当前用户的Shell程序类型($表示普通用户,#表示root用户)
七、LANG
LANG是用来设置当前系统语言的环境变量,在Shell脚本中可以使用该变量来判断当前系统的语言环境。
例如,可以使用以下命令获取当前系统的语言环境:
echo "当前系统的语言环境为: $LANG"
在编写多语言脚本时,可以使用LANG来判断当前系统的语言环境,从而执行不同的语言模块。
八、EDITOR
EDITOR是用来设置默认编辑器的环境变量,在Shell脚本中可以使用该变量来调用默认编辑器。
例如,可以使用以下命令打开默认编辑器编辑一个名为“test.sh”的Shell脚本:
$EDITOR test.sh
在配置系统环境时,可以使用EDITOR来设置默认编辑器,保证编写的配置文件能够被正确解析。
总之,Shell环境变量是Linux运维工程师必备的知识之一,在Shell脚本的编写和日常操作中都非常常见。本文介绍了几种常用的Shell环境变量,并给出了相应的使用示例,希望对各位运维工程师有所帮助。