本文介绍在PowerShell中,如何获取环境变量的值。可以列出所有的环境变量,也可以指定通过变量名称来获取环境变量的值。
在开发过程中,经常需要用到环境变量(比如当前计算机名、登录的用户名、Path环境变量等),那么在PowerShell中如何知道有哪些环境变量呢?又该如何获取指定环境变量的值呢?
PowerShell通过环境变量提供者(Environment Provider)让我们可以访问环境变量。默认情况下,PowerShell创建了一个驱动器(名称为env)来与Environment Provider打交道。所以,我们可以通过env这个驱动器来处理与环境变量相关的操作。
1、列出所有的环境变量
我们可以使用“Get-ChildItem env:”来获取所有的环境变量列表。小编本机的运行结果如下:
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Wu\AppData\Roaming
CLASSPATH=.;D:\WorkSoftware\Java\jdk1.8\lib\dt.jar;D:\WorkSoftware\Java\jdk1.8\lib\tools.jar
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=WU-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HADOOP_CONF_DIR=D:\WorkSoftware\hadoop2.7.4\etc\hadoop
HADOOP_HOME=D:\WorkSoftware\hadoop2.7.4
HOMEDRIVE=C:
HOMEPATH=\Users\Wu
JAVA_HOME=D:\WorkSoftware\Java\jdk1.8
LOCALAPPDATA=C:\Users\Wu\AppData\Local
LOGONSERVER=\\WU-PC
NUMBER_OF_PROCESSORS=4
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\
Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files (x86)\Microsof
t SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Bin
n\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Mi
crosoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Mi
crosoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\
Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\120\Too
ls\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\
Git\cmd;C:\Program Files\dotnet\;D:\WorkSoftware\MySQLServer5.7\bin;D:\WorkSoftw
are\Java\jdk1.8\bin;D:\WorkSoftware\Java\jdk1.8\jre\bin;D:\WorkSoftware\hadoop2.7.4\bin;D:\WorkSoftware\curl7.55.1win64\bin;D:\WorkSoftware\thrift0.10;D:\WorkSoftware\spark2.2.0\bin;D:\WorkSoftware\spark2.2.0\sbin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2a07
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SPARK_HOME=D:\WorkSoftware\spark2.2.0
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Wu\AppData\Local\Temp
TMP=C:\Users\Wu\AppData\Local\Temp
USERDOMAIN=Wu-PC
USERNAME=Wu
USERPROFILE=C:\Users\Wu
VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VSSDK140Install=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VSSDK\
windir=C:\Windows
windows_tracing_flags=3
windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log
注意,Get-ChildItem和dir是一个意思,后者是前者的别名。洪哥喜欢偷懒,所以直接用了dir。
上面,列出了所有的环境变量,有兴趣的朋友可以一一熟悉一下,以便后面在需要用到变量的值时去调用。
2、获取环境变量的值
语法:$env:<变量名>
举个例子,如果我想获取当前计算机名称,则用法如下:
PS C:\Users\wu> $env:computername
ZHANGHONG-BOOK
注意,环境变量也是一种变量,所以在“env:”之前必须有PowerShell变量的专用前缀“$”。
关于PowerShell获取环境变量的值,本文就介绍这么多,希望对大家有所帮助,谢谢!