当前位置: 首页 > 科技观察

Linux系统环境变量查看方法

时间:2023-03-12 03:07:02 科技观察

环境变量依赖于某些特定的环境,是特定于当前系统环境的变量。例如,当前登录的用户存储在USER变量中。我们今天的文章将介绍如何查看系统的环境变量。什么是环境变量?环境变量与您的桌面环境无关。Hostname是我们遇到的最基本的环境变量之一,一般它的拼写字母都是大写的,为什么会这样呢?因为大部分环境变量都是系统预定义的,是全局变量,所以一般都用大写字母书写。那么为什么首先要使用环境变量呢?假设您是一名程序员,您的代码需要访问您的数据库密钥,该密钥不应公开共享。那么,如果在git上共享代码,如何避免密码泄露呢?一般的做法是将数据库key封装成一个环境变量。通过这种方式,将git上的指令设置为“如果你想让你的代码工作,你需要用你的数据库密钥替换这个变量”。当然,这是使用环境变量的一种方式。以下是Linux系统中一些常用的环境变量:环境变量说明HOME显示当前用户家目录的主机名HOSTNAME系统UID存放用户的唯一标识SHELL显示当前使用的shell路径BASH_VERSION当前bash实例的版本使用HISTFILE保存命令历史记录的文件路径TERM显示正在使用的终端类型PATH显示列出的拆分文件和目录的路径从最简单的方法开始。1、使用printenv命令printenv程序用于打印当前shell的环境变量。如果我们要使用printenv打印USERNAME变量的值,那么命令如下:printenv同理,可以使用printenv打印多个环境变量,以空格隔开,例如使用printenv打印值HOME和USERNAME:printenv上面的命令会先打印当前登录到用户的主目录,然后第二行显示主机名,如下图所示:那么,如何打印所有可用的环境变量在当前外壳?只要运行printenv命令:printenv2,使用echo命令经常使用Linux的用户会更习惯使用echo命令。例如,以下命令将打印USERNAME的值:echo$USERNAME那么,如何使用echo命令打印多个环境变量呢?使用以下语法:echo-e"$\n\n"例如使用以下命令同时打印HOME、USERNAME、HOSTNAME的值:echo-e"$USERNAME\n$HOME\n$HOSTNAME"3.使用env命令Shell脚本通常使用env命令来启动正确的解释器,但我们也可以使用env命令列出可用的环境变量。使用不带任何参数的env命令将打印所有可用的环境变量:env那么,如果你想获取特定环境变量的值,你需要做什么呢?您可以使用grep来过滤结果。下面我们演示如何使用declare命令打印HOME:env4的值declare命令用于在shell中声明并打印变量的值。与上述其他命令一样,使用不带任何参数的declare命令将打印出所有可用的环境变量:declare我们之前使用grep过滤结果。事实上,它可以用来过滤多个结果。语法如下:声明|grep'\|\|'以下命令打印HOSTNAME和USERNAME的值:declare|grep'HOSTNAME\|USERNAME'5.使用set命令set命令通常用于shell中Set或unset配置项来设置进程信息。另外,set命令还可以用来打印当前shell的环境变量。下面的命令:set也可以使用grep来过滤set命令的结果。以下示例显示如何使用grep命令打印多个环境变量:grep'HISTFILESIZE\|HISTFILE\|GNOME_SHELL_SESSION_MODE'上面我们介绍了多种打印环境变量的方法,但是推荐第一种方法,因为它的语法最简单。