PowerShell7を語る前に、ターミナルのことについて話していきます。
#Windowsのターミナルとは
MacにターミナルがありCLI操作ができるように、Windowsにも同様なものが存在しCLI操作ができます。
しかし現在、Windows10には大きく分けて3種類あります。
・コマンドプロンプト(Command Shell)
・Windows PowerShell
・PowerShell7
始めの2つはもともと入っているターミナルになります。
デフォルトはコマンドプロンプトかと思います。PowerShellと切り替えて使うことができます。
そして2020年、PowerShell7が登場し、計3種類のターミナルがWindowsで使えることになっています。
なんで3つも似たやつがあるんだ!?
そう思うでしょう?
私もそう思います🙄
#Windowsのターミナルたちの違い
私の感覚も含めて簡単にまとめているので、全てを説明しきれないので悪しからずです。
####コマンドプロンプト
昔の私のように、普段あまりCLI操作もすることがない人はWindowsのデフォルトであるコマンドプロンプトでそれなりのコマンド操作はできます。
例えば、
ディレクトリの中身をlsで確認するとか、CLIで電卓を出すとか(あるか?
🤤)、あるフォルダのディレクトリパスを別のフォルダに遷移するように設定するとか(あるか?🤤)、、
ただ、後でも言いますが使えないコマンドが多いので、エンジニアには不向きかと思います。
####Windows PowerShell
Windows PowerShellとは、俗にPowerShellと言われるものです。
PowerShellと言うとこれを指すかと思います。
これはもともとWindowsに入っているので、コマンドプロンプトと切り替えたり単体で使うことができます。
これはコマンドプロンプトに比べると、速度が速い、使えるコマンドが多いと言われていますが、さほど変わりない印象です。
####PowerShell7
先のWindows PowerShellを開くと、去年2020年からこんな表示が出てくるようになりました。
要は、新しいPowerShellに変えろと言うことです。
これを見た私は、アップデートのことかな?と思い、バージョンを確認して新しいからいいやと思っていました。
しかし、表示が消えないのです。。
そのため、リンクを調べたら、【Microsoft公式リンク】
PowerShellとPowerShell7は違う。。!
なにっっ!
名前は同じ、中身は違う。その名はPowerShell7!🧐
調べると、、、
分からないぞ。。
Microsoft 公式ドキュメントが言っている内容を咀嚼するのになんと時間がかかることか、、
初心者にはまあ難しい。
それに加えて、PowerShell7は同じPowerShellと思っている私
は混乱の極みでした。
#PowerShell7を簡単に理解する
特徴やポイントをランダムに挙げます。
①PowerShell7はPowerShell(Windows PowerShell)ではない。
別物と思った方が良いです。
なぜなら、新たにインストールが必要なアプリだからです。
もともとWindowsに存在するPowerShellをアップデートするとかいう話ではありません。
一つのアプリとしてインストールしましょう。
そういうことです。
(インストール方法は別でまとめるかもしれない。)
②使えるコマンドが多い
Mac
ならターミナルで叩けるコマンドがWindowsのデフォルトShellで使えないという悲しい現実。
また、WSL(Windows Subsystem for Linux)ができたこともあり、叩けないコマンドがあるのは困るよね。。
なので、PowerShell7ができたのです!
と思っておきます🙄
これでいくつかのコマンドが叩けるようになりました!
例を挙げると、
● && || などのパイプラインの演算子
Pipeline Chain Operatorsというパイプライン演算子と理解しているコマンドです。
左が真なら右を実行する。
左が偽なら右を実行する。などのコマンドです。
これらは旧PS(今後PowerShellはPSで表記)にはありませんでした。
叩こうものなら赤字のエラーです。😥🥱
LPICやDockerの勉強したときに、ちょうど&&がでてきたのですが、旧PSでは使えなくて泣いたことを覚えています。
Linux環境ではお目見えすること多いかもです。
**三項演算子(条件演算子)**
JavaScriptでコードを書く際にも出てきたりするものです。
これもまた旧PSでは認識できないコマンドでした。
**エラー表示が簡易化された**
例えば、おかしなコマンドを叩いたとしましょう。
赤字のエラー文が1行で収まっています。
エラーを見るストレスが減りますね😇💦
**NULL演算子**
今のところ、個人的にはあまり使う機会がありませんが、これも使えるようになったそうです。
まだあるっぽいですが、私の言いたいことは、使える機能が断然、新PSの方が多いので、こっちを使おう!
です。
そんなとこでしょうか。
###気になること
アップデートがある際はPSを開いたときにグレーの背景の文字が出てきて、新しいバージョンが使えるぜぃ♪と出てきます。
おそらくCLIでできるはずなのですが、
あまり出くわすこともないのでまだよくわかっていません。
なので、私は新たに、msiファイルをダウンロードしてインストールするという手間のかかることをしているのは内緒です🤫🙊
いい記事があったので、次のアップデートがそちらを参考にしたいなとも思っています。
##まとめ
特にまとめることはありませんが、
WindowsでプログラミングやWSL操作をするときは、ターミナルはデフォルトのコマンドプロンプトやPSではなく、PowerShell7を是非インストールして使ってほしい。
以上です。