服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 如何在Linux中查看系统环境变量

如何在Linux中查看系统环境变量

2022-10-14 19:08TIAP刘光录 Linux

环境变量取决于某些特定的环境,是特定于当前系统环境的变量,比如,当前登录的用户存储在 USER 变量中。我们今天这篇文章将会介绍如何查看Linux系统的环境变量。

如何在Linux中查看系统环境变量

环境变量取决于某些特定的环境,是特定于当前系统环境的变量,比如,当前登录的用户存储在 USER 变量中。

我们今天这篇文章将会介绍如何查看系统的环境变量。

什么是环境变量

环境变量与你的桌面环境无关。

Hostname 是我们遇到的最基本的环境变量之一,一般情况下它的拼写字母是大写的,为什么会这样呢?

因为大多数环境变量都是由系统预定义的,并且是全局变量,所以它们通常都是用大写字母书写的。

那么,为什么首先要使用环境变量呢?

假设你是一名程序员,并且你的代码需要访问你的数据库密钥,该密钥不应公开共享。

那么,如果将代码共享到 git 上的时候,应该怎样避免密码泄露呢?一般的做法是,将数据库密钥封装为环境变量。

通过这种方式,将git上的指令设置为“如果要使代码正常运行,需要用数据库密钥来替换此变量”。

当然,这是使用环境变量的一种方式,下面是Linux系统中常见的一些环境变量:

环境变量

描述

HOME

显示当前用户主目录

HOSTNAME

系统的主机名

UID

存储用户的唯一ID

SHELL

显示当前正在使用的 shell 路径

BASH_VERSION

当前使用的 bash 实例的版本

HISTFILE

保存命令历史记录的文件路径

TERM

显示正在使用的终端类型

PATH

显示已列分割的文件和目录的路径

打印环境变量

在 Linux 中有多种方法来打印环境变量,我们从最简单的方式开始。

1、使用 printenv 命令

printenv 程序用于打印当前 shell 的环境变量。

假如我们要使用 printenv 打印 USERNAME 变量的值,那么命令如下:

printenv

 

同样,可以使用 printenv 打印多个环境变量,使用空格分割,比如,使用 printenv 打印 HOME 和 USERNAME 的值:

printenv

 

上述命令,首先会打印当前登录用户的主目录,然后第二行显示主机名,如下图所示:

如何在Linux中查看系统环境变量

 

那么,如何打印当前 shell 中所有可用环境变量呢?只需要运行 printenv 命令即可:

printenv

如何在Linux中查看系统环境变量

 

2、使用 echo 命令

经常使用 Linux 的用户会比较习惯使用 echo 命令。比如,如下命令将会打印 USERNAME 的值:

echo $USERNAME

如何在Linux中查看系统环境变量

 

那么,使用 echo 命令打印多个环境变量该怎么做呢?使用如下语法:

echo -e "$ \n \n"

 

比如,使用如下命令同时打印 HOME, USERNAME, HOSTNAME 的值:

echo -e "$USERNAME \n$HOME \n$HOSTNAME"

如何在Linux中查看系统环境变量

 

3、使用 env 命令

shell 脚本通常使用 env 命令启动正确的解释器,但我们也可以使用 env 指令列出可用的环境变量。

使用不带任何参数的 env 命令,会打印所有可用的环境变量:

env

如何在Linux中查看系统环境变量

 

那么,如果想要获取某个特定环境变量的值,需要怎样做呢?可以使用 grep 来对结果进行过滤。下面我们演示如何打印 HOME的值:

env

如何在Linux中查看系统环境变量

 

4、使用 declare 命令

declare 命令用于声明和打印shell中变量的值。与上面介绍的其他命令一样,不带任何参数的使用 declare 命令会打印出所有可用的环境变量:

declare

如何在Linux中查看系统环境变量

 

前面我们使用过grep过滤结果,其实,可以使用它来过滤多个结果,语法如下:

declare | grep '\|\|'

 

下面命令打印 HOSTNAME 和 USERNAME 的值:

declare | grep 'HOSTNAME\|USERNAME'

如何在Linux中查看系统环境变量

 

5、使用 set 命令

通常,set 命令用于在 shell 中设置或者取消设置配置项,以设置进程信息。除此以外,set 命令也可以用来打印当前 shell 的环境变量。如下命令:

set

如何在Linux中查看系统环境变量

 

同样可以使用 grep 来过滤 set 命令的结果。下面的例子展示如何使用 grep 命令打印多个环境变量:

set | grep 'HISTFILESIZE\|HISTFILE\|GNOME_SHELL_SESSION_MODE'

如何在Linux中查看系统环境变量

以上我们介绍了打印环境变量的多个方法,但是建议使用第一种方法,因为它的语法最简单。

原文地址:https://mp.weixin.qq.com/s/jxWrJn6hFX8jKjZGmKL0yA

延伸 · 阅读

精彩推荐
  • LinuxLinux系统中dd 参数使用详解

    Linux系统中dd 参数使用详解

    dd 强大的备份命令 命令格式:dd 参数 参数有: bs=bytes数 :同时将ibs(输入)与obs(输出)设置为指定的大小 cbs=bytes数 :为block与unblock指顶转换的数据块大小...

    Linux教程网7282020-04-15
  • Linux完美解决 Linux 和 Windows 双启动带来的时间同步问题

    完美解决 Linux 和 Windows 双启动带来的时间同步问题

    这篇文章主要介绍了完美解决 Linux 和 Windows 双启动带来的时间同步问题,小编觉得还是挺不错的,这里分享个大家,需要的朋友可以参考下...

    Linux之家3042019-05-24
  • Linux浅谈Linux下通过find命令进行rm文件删除的小技巧

    浅谈Linux下通过find命令进行rm文件删除的小技巧

    下面小编就为大家带来一篇浅谈Linux下通过find命令进行rm文件删除的小技巧。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过...

    Linux教程网8302021-12-07
  • Linux使用Git管理二进制大对象的方法

    使用Git管理二进制大对象的方法

    Git 是一个非常强大和扩展性非常强的系统应用软件,如何使用 Git 管理二进制大对象?下面小编将为大家详细的讲述使用Git管理二进制大对象的方法;希望...

    Linux之家4812019-06-09
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10122019-06-19
  • Linuxlinux Apache服务器系统安全设置与优化

    linux Apache服务器系统安全设置与优化

    本文主要讲解Linux系统中Apache服务器系统安全设置与优化教程,有需要的朋友可以参考一下。...

    服务器之家3612020-06-19
  • LinuxLinux 网络延迟故障排查

    Linux 网络延迟故障排查

    在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存...

    运维派9982022-04-18
  • Linux浅谈Linux中free命令以及它的一些有用选项

    浅谈Linux中free命令以及它的一些有用选项

    free是Linux中一个标准的并且被广泛使用的命令,它被用来分析内存统计(空闲和已用)。今天小编为大家带来的是浅谈Linux中free命令以及它的一些有用选项!...

    脚本之家3832019-06-04