7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PowerShell7とは何なのだ。と思ったのでザッとまとめた。

Last updated at Posted at 2021-03-20

PowerShell7を語る前に、ターミナルのことについて話していきます。

#Windowsのターミナルとは

MacにターミナルがありCLI操作ができるように、Windowsにも同様なものが存在しCLI操作ができます。

しかし現在、Windows10には大きく分けて3種類あります。

・コマンドプロンプト(Command Shell)
・Windows PowerShell
・PowerShell7

スクリーンショット 2021-03-20 112234.png
この3つです。

始めの2つはもともと入っているターミナルになります。

デフォルトはコマンドプロンプトかと思います。PowerShellと切り替えて使うことができます。

そして2020年、PowerShell7が登場し、計3種類のターミナルがWindowsで使えることになっています。


なんで3つも似たやつがあるんだ!?

そう思うでしょう?

私もそう思います🙄


#Windowsのターミナルたちの違い

私の感覚も含めて簡単にまとめているので、全てを説明しきれないので悪しからずです。

####コマンドプロンプト

昔の私のように、普段あまりCLI操作もすることがない人はWindowsのデフォルトであるコマンドプロンプトでそれなりのコマンド操作はできます。

例えば、
ディレクトリの中身をlsで確認するとか、CLIで電卓を出すとか(あるか?
🤤)、あるフォルダのディレクトリパスを別のフォルダに遷移するように設定するとか(あるか?🤤)、、

ただ、後でも言いますが使えないコマンドが多いので、エンジニアには不向きかと思います。


####Windows PowerShell

Windows PowerShellとは、俗にPowerShellと言われるものです。

PowerShellと言うとこれを指すかと思います。

これはもともとWindowsに入っているので、コマンドプロンプトと切り替えたり単体で使うことができます。

これはコマンドプロンプトに比べると、速度が速い、使えるコマンドが多いと言われていますが、さほど変わりない印象です。


####PowerShell7

先のWindows PowerShellを開くと、去年2020年からこんな表示が出てくるようになりました。

ps-version_LI.jpg

要は、新しい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では認識できないコマンドでした。

PowerShell7では下記のようにできました。感動✨🥺
sanko-enzan 2021-03-20 114442.png


**エラー表示が簡易化された**

例えば、おかしなコマンドを叩いたとしましょう。

旧PS 
ps-error-o2021-03-20.png

新PS
ps-error-n2021-03-20.png

赤字のエラー文が1行で収まっています。

エラーを見るストレスが減りますね😇💦


**NULL演算子**

今のところ、個人的にはあまり使う機会がありませんが、これも使えるようになったそうです。


まだあるっぽいですが、私の言いたいことは、使える機能が断然、新PSの方が多いので、こっちを使おう!です。

そんなとこでしょうか。


###気になること

PowerShellのアップデートがいまいち分からない。
PS7-update.png

アップデートがある際はPSを開いたときにグレーの背景の文字が出てきて、新しいバージョンが使えるぜぃ♪と出てきます。

おそらくCLIでできるはずなのですが、

あまり出くわすこともないのでまだよくわかっていません。

なので、私は新たに、msiファイルをダウンロードしてインストールするという手間のかかることをしているのは内緒です🤫🙊

いい記事があったので、次のアップデートがそちらを参考にしたいなとも思っています。

##まとめ

特にまとめることはありませんが、

WindowsでプログラミングやWSL操作をするときは、ターミナルはデフォルトのコマンドプロンプトPSではなく、PowerShell7を是非インストールして使ってほしい。

以上です。


7
3
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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?