これはなに
Unixコマンドじゃないとやだと駄々をこねる人間がWindowsで生きるために試行錯誤してWSLとかWindowsTerminalとかchocoとかに救命してもらうお話
内容はないよ
今までのWindowsのターミナル事情をおさらいしよう
CMD.exe
- 見た目のカスタマイズに弱いイメージ
- 公式的には手放したいのにできなくて放置だったはず(Win7くらいの時)なのに最近いろいろ改善された
- これ自体に罪はない(はず)
powershell.exe
- 諸悪の根源(?)
- スクリプトなのはすごくいいし.Netのオブジェクトとかも叩きやすい
- コマンドレット長すぎ問題にぶちあたる
- 方式が違いすぎてこれでCMD置き換えるのは無理だと思う
- これ自体はいいツールで罪はない(ISEとか付属するし)
Cygwin
- Unixライクなコマンド使おうとすると一度は通るやつ
- 全部がCygwinのdllにつながってるのがちょっと...
- POSIX完全再現を目指しすぎてて重い
- 最近は嫌がられるイメージ
MSYS2
- もとはCygwin
- だけど最近はこっちがおおいイメージ
- 多分MinGWと一緒に使われるからだと思う(確証なし)
- もとはCygwinなのでこれでビルドしたのはMSYSでしか動かない
MinGW
- UnixツールをWindowsネイティブにしましょうプロジェクト(あまり正確ではない)
- クロスコンパイル環境にはほぼ必須
- Terminalかって言われるとそうでもない
今のターミナル事情はすごい!
久しぶりに戻ったWindowsのターミナル事情が変わりすぎてまじでびっくりした
Windows Subsystem for Linux (WSL)
こいつやばい
昔あった(今もあるかも)coLinuxみたいな感覚で起動できて(仕組みは全然違うけど)、公式のサポートがついて、多くの人が使ってる(最重要)
X11もいれるとWindowsにGNOME Terminalを起動することができる
セットアップはそこらへんに転がってるので検索してLGTMに入れましょう
Git Bash
MinGW+MSYS2だけどGitにくっついてくるのでなんだかんだ使いやすい
ほぼBashのためだけにいれた
chocoで入れるときはオプション打たないとコマンドラインツールはいらないので気を付けよう
Windows Terminal
なにこれ
複数Shell同時に動かせるし、タブもあるし分割もできるし、カスタムがJSONだし、Macのデフォターミナルの5000倍くらいいいと思う(個人的感想)
MSStoreからいれよう
Chocolatey
MacでいうHomeBrew、Debianでいうapt、Fedoraでいうyum
パッケージ管理ツールが成熟して私はうれしいですわよ
いろいろ突っ込みすぎてなにいれたか忘れた
インストール方法:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))