本題
PowerShellをもっと使っていこう、ということでMacのターミナルでもPowerShell Coreをログインシェルにした。するだけなら簡単で、/etc/shells
にパスを足して、chsh
で終わり。それ以前の、MacにPowerShellを入れるには、homebrew
で一発なので省略。
echo '/usr/local/bin/pwsh' | sudo tee -a /etc/shells
chsh -s /usr/local/bin/pwsh
おまけ
この後、ターミナルで新しいタブなりウインドウを開くと最初からPowerShellになっている。なっているが、$env:PATH
の中身が変だ。
/usr/local/microsoft/powershell/6:/usr/bin:/bin
少なくとも、/usr/local/bin
は入ってないとおかしい。zshやbashの時に自分で.profile
に足したわけでもないので、どこかに初期値がないとおかしい。あった。
path_helper
を自分の環境で実行してみるとこうなった。
PS> /usr/libexec/path_helper
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/opt/X11/bin:/usr/local/microsoft/powershell/6"; export PATH;
この順番のまま$env:PATH
を上書きしてもいいけど、PowerShellのだけ前に来て欲しいので、ちょっとこねこねしたものを$Profileに足すことにする。
$env:PATH = ($env:PATH.Split(":")[0], (((/usr/libexec/path_helper) -split '"')[1] -replace $env:PATH.Split(":")[0])) -join ":"
こうしておくと、bashの時のPATHの一番前に/usr/local/microsoft/powershell/6
が追加されて良い感じになる。
追記
2020/3/22に環境構築してみると、$env:PATHが特に手を加えるまでもなくこうなっててほしい、という状態になってたので、おそらくおまけの内容については、今の環境では必要ないと思われる。