LoginSignup
4
2

More than 3 years have passed since last update.

ログインシェルにPowerShell Coreを使う

Last updated at Posted at 2019-03-30

本題

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が特に手を加えるまでもなくこうなっててほしい、という状態になってたので、おそらくおまけの内容については、今の環境では必要ないと思われる。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2