himorogiの日記

主にプログラミングに関することなど。少々ハード(電子工作)についても。

macOS で Powershell - rehabilitation 編 -2 : 環境変数

Env は PSDrive のプロバイダの一つ。

PS /Users/hoge> get-psdrive

Name           Used (GB)     Free (GB) Provider      Root                                Current
                                                                                         Locatio
                                                                                               n
----           ---------     --------- --------      ----                                -------
/                 291.38        173.74 FileSystem    /                                   ...hoge
Alias                                  Alias                                                    
Env                                    Environment                                              
Function                               Function                                                 
Variable                               Variable                                                 


PS /Users/hoge> 

なので Get-ChiledItem してみる。

PS /Users/hoge> gci env: | format-list    


Name  : _
Value : /usr/local/bin/pwsh

Name  : __CF_USER_TEXT_ENCODING
Value : 0x1F5:0x1:0xE

Name  : Apple_PubSub_Socket_Render
Value : /private/tmp/com.apple.launchd.PN8TixRg7E/Render

Name  : COMMAND_MODE
Value : unix2003

Name  : GROOVY_HOME
Value : /Users/hoge/.sdkman/candidates/groovy/current

Name  : HOME
Value : /Users/hoge

Name  : LANG
Value : ja_JP.UTF-8

Name  : LOGNAME
Value : hoge

Name  : PATH
Value : /usr/local/microsoft/powershell/6:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/loca
        l/share/dotnet:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Comma
        nds:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin:/Users/hoge/
        .sdkman/candidates/groovy/current/bin

Name  : PSModulePath
Value : /Users/hoge/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/usr
        /local/microsoft/powershell/6/Modules

Name  : PWD
Value : /Users/hoge

Name  : SDKMAN_CANDIDATES_API
Value : https://api.sdkman.io/2

Name  : SDKMAN_CANDIDATES_DIR
Value : /Users/hoge/.sdkman/candidates

Name  : SDKMAN_DIR
Value : /Users/hoge/.sdkman

Name  : SDKMAN_PLATFORM
Value : Darwin

Name  : SDKMAN_VERSION
Value : 5.7.3+337

Name  : SHELL
Value : /bin/bash

Name  : SHLVL
Value : 2

Name  : SSH_AUTH_SOCK
Value : /private/tmp/com.apple.launchd.5dmj0JEs17/Listeners

Name  : TERM
Value : xterm-256color

Name  : TERM_PROGRAM
Value : vscode

Name  : TERM_PROGRAM_VERSION
Value : 1.32.3

Name  : TMPDIR
Value : /var/folders/xj/qkbp11_91mg0blbzgp2tmcw80000gn/T/

Name  : USER
Value : hoge

Name  : XPC_FLAGS
Value : 0x0

Name  : XPC_SERVICE_NAME
Value : 0



PS /Users/hoge>

環境変数 PATH の参照。

PS /Users/hoge> gci env:PATH | format-list


Name  : PATH
Value : /usr/local/microsoft/powershell/6:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/loca
        l/share/dotnet:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Comma
        nds:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin:/Users/hoge/
        .sdkman/candidates/groovy/current/bin


PS /Users/hoge>

つながって見にくいので、PATH 毎に改行いれてみた。

PS /Users/hoge> gci env:PATH |%{ $_.value -replace ( ":","`n" ) }
/usr/local/microsoft/powershell/6
/usr/bin
/bin
/usr/sbin
/usr/local/share/dotnet
~/.dotnet/tools
/Library/Frameworks/Mono.framework/Versions/Current/Commands
/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin
/Users/hoge/.sdkman/candidates/groovy/current/bin
PS /Users/hoge> 

変数 $env としても参照できる。同じ PATH 見てもつまらない(?)ので PSModulePath。

PS /Users/hoge> $env:PSModulePath |%{ $_ -replace (":","`n")}
/Users/hoge/.local/share/powershell/Modules
/usr/local/share/powershell/Modules
/usr/local/microsoft/powershell/6/Modules
PS /Users/hoge>