Windowsで使えるShell
基本
ターミナルは Windows Terminalを想定。
基本的に chcp
コマンドで文字コードの設定は行わない。
cmd や PowerShell 以外のシェルでは問題が起きることが多い。
逆に上記のシェルだけで完結するのであれば変えてもよい。
他のコマンド
-
scoop
Windows用のパッケージマネージャー、ここで紹介するコマンドはほとんどインストールできて便利。
-
busybox
coreutils の便利コマンドを使える。
-
ripgrep
モダンな grep コマンド -
dust
モダンな du コマンド
-
fd
モダンな find コマンド
-
lsd, eza
いい感じに色付けしてくれる ls コマンド2種
-
starship
いい感じにプロンプトの拡張をしてくれる。
ここで紹介する Shell はすべて対応している。 -
procs
モダンな ps コマンド
-
bottom
モダンな top コマンド
-
jq
-
zoxide
-
fzf
cmd
Windows 標準シェル
さすがに辛いので配布用以外では使いたくない。
配布用の場合でも最低限の操作後 PowerShellにすぐにコマンドを渡したい。
PowerShell
Windows 標準搭載のものと PowerShell Core がある。
標準では ps1 ファイルが実行できないので、配布用にする際には cmd から -ExecutionPolicy
オプションで実行を許可する必要がある。
コマンド覚えられない。 Windowsサーバー運用をすれば覚えられるのかな。
Git Bash, MSYS2
遅いのであまり使いたくない。
PowerShellが禁止されている環境で仕方なく使う
Cygwin
使ったことないけれど、 Git Bash, MSYS2 よりはよさそう。
WSL
Windows側のファイルを操作する目的なら WSL1 のほうが早い。
Linux側のファイルシステムで完結するなら WSL2 でよい。
Linuxなので基本的にほぼ全てのShellが使えることや、Windows特有の問題が発生しずらい。
Bash, Zsh, Fish を使うなら現状これかなと思っている。
NuShell
Rust製のShell Windows上で動作する。
Elvish Shell
Windows上で動作するShell。気になる。
Xonsh
Python で拡張可能な Shell。
Pythonに慣れているのであれば、好きなように拡張ができるので便利。
Pythonのモジュールや関数などを直接 Shellから利用できたりかなりいい感じ。
Power Shell Core
現在のメインShell。
通称 pwsh
Linuxなどでも動くため、クロスプラットフォームなシェルとしても使えないか模索中
自分用カスタマイズリポジトリ