発端はGitHubのこちらのIssueから
もともと「PowerShellのプログラム名であるpowershell.exe(powershell)は長いので略称があった方が良いよね。」という提案から始まっています。
新しいPowerShellの略称について
先のIssueを見ればわかりますが、新しいPowerShellの略称は pwsh になりました。
これまでは慣例的にposhが良く使われていましたが、既存の名称(Policy-compliant Ordinary SHell)と重複するため却下され、最終的に名称の重複がないpwshが採用されました。
名前の重複に関しては以前にエイリアスにwgetやcurlを使っていた件で荒れに荒れた過去があるためPowerShell Teamとしてかなり慎重になっている様です。
他にも以下の名称が候補に上がっていました。*1
| 候補 | 不採用の理由(明確な理由がある場合のみ記載) |
|---|---|
| posh | Policy-compliant Ordinary SHellと名前が重複 |
| ps | psコマンドと衝突 |
| psc | |
| psh | Perl Shellと名前が重複 |
| msh | 既存の様々な略称と重複 |
| mosh | Mobile Shellと名前が重複 |
| monad | |
| pscore | |
| coreps | |
| coresh | |
| pscmd | |
| psc | |
| pscx | |
| pscsh | cshと名前が重複 |
| pshell | |
| prsh | |
| wpsh | |
| wprsh | |
| pwrsh | |
| paua | paua shell(パウア貝)... |
個人的はpshが良かったのですが仕方ないですね...
PowerShellのプログラム名が変わる話
PowerShellの新しい略称が決まり、私個人の予想としてはショートカットやシンボリックリンクを張ることで実環境に反映させるのかと思っていたのですが、PowerShell 6.0ではプログラム名(powershell.exe(powershell))をpwsh.exe(pwsh)に変更する対応となりました。
変更するPull Requestが以下に上げられており、つい先日マージされ、正式にプログラム名が変更されることになりました。
この対応はかなり破壊的な変更になるので正直全く予想できませんでした...
とはいえ破壊的変更といっても非Windows環境においては影響が無く、Windows環境においても既存のWindows PowerShellと明確に区別したいという意図がある様で、改めて考えるとむしろ良い変更なのかな?という気もします。
*1:チェック漏れがあるかも...