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

偷偷学了这5条命令,打印Linux环境变量那叫一个“丝滑”

时间:2023-03-13 19:09:44 科技观察

1.概述在Linux和Unix基础的系统中,环境变量是一组动态命名的值,存储在系统中,供应用程序使用在shell或子shell中启动。简而言之,环境变量是具有名称和关联值的变量。KEY=valueKEY="NewVALUE"KEY=valueA:valueB在Linux中有很多种列出或显示环境变量的方法,我们可以使用env、printenv、declare或set命令来列出系统中的所有变量。在本教程中,我们将与您分享如何在Linux中列出环境变量。2.环境变量的必要规则环境变量遵循=的格式。等号两边没有空格=可以通过用冒号分隔单个变量来指定多个值:``=::`环境变量区分大小写。按照惯例,环境变量名称设置为大写。Shell变量与环境变量不同。Shell变量仅适用于当前shell,不适用于任何子进程。3.列出环境变量3.1printenvprintenv是最常用的显示环境变量的命令。如果变量的名称作为参数提供给命令,则只会显示变量的值。如果printenv没有给出参数,它将打印所有环境变量的列表。每行一个变量。下面我们执行命令看看效果。printenv执行结果:查看HOME环境变量的值:printenvHOME执行结果:我们注意到HOME是执行printenv命令后的变量:所以我们要查看什么参数的时候,只要在printenv后面加上这个变量即可。例如:printenvUSER执行结果:那么这些参数是什么意思呢?我们挑几个常用的来说明一下。USER:当前登录的用户。HOME:当前用户的主目录。EDITOR:用作默认文件编辑器。SHELL:当前用户的shell路径,比如bash或者zsh。LOGNAME:此处显示当前用户的名称。PATH:这是运行命令时要搜索的目录列表。LANG:区域设置的当前设置。TERM:当前终端仿真。MAIL:当前用户的邮件保存在这个位置。3.2envenv命令的效果和printenv一样,显示的内容完全一样:env执行结果:唯一不同的是过滤参数不同,printenv直接加上变量名过滤,但是env命令需要结合grep进行过滤,例如:env|grepHOME执行结果:3.3declaredeclare命令显示已经声明的环境变量:declare执行结果:此时我们如何过滤?执行以下命令:export-p|grepHOME执行结果:3.4setset命令字面上看是设置变量,但确实可以显示系统的环境变量。注意set显示的是当前shell中所有shell变量的名称和值:set执行结果:这里不止这些,由于文章篇幅,没有全部截图展示。我们还可以使用grep命令进行过滤:set|grepHOME执行结果:3.5在echo命令后面加上$符号,添加变量直接打印出环境变量:echo$HOME执行结果:这个比较简单,但是前提是你要知道有哪些变量。总结打印环境变量的操作在运维过程中经常用到。本文列出了5个常用的打印环境变量的命令。它们是printenv、env、declare、set和echo。希望这篇文章对您有所帮助。