Photo by Luca Bravo on Unsplash
はじめに
最近はMicrosoft社も色々な面でLinuxを意識した動きを見せています。その一例として、元々はWindowsのみでしか動作しなかったPowerShellを2018年にはオープンソース化し、Linuxにもインストールして使えるようになりました。この記事では、Ubuntu18.04にPowerShellをインストールする手順をまとめます。
前提と環境
以下の環境となります。
- OS : Ubuntu 18.04
UbuntuにPowerShellをインストールする
以下のMicrosoftの公式マニュアルページにインストール手順が書かれているのでそれに沿って行います。ここではUbuntuにインストールしますが、上記の公式マニュアルページにはRedHat系におけるインストール手順も詳しく書かれています。
Linux への PowerShell Core のインストール
さまざまな Linux ディストリビューションへの PowerShell Core のインストールに関する情報
いくつかのインストール方法が提示されていますが、ここではパッケージリポジトリによるインストールを行います。はじめに、以下のコマンドによりMicrosoftのリポジトリのGPGキーをダウンロードして登録します。
# MicrosoftのリポジトリのGPGキーをダウンロードする
$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
# GPGキーを登録する
$ sudo dpkg -i packages-microsoft-prod.deb
続いてupdate
コマンドを実行し、「universe」リポジトリを有効化します。
$ sudo apt update
$ sudo add-apt-repository universe
なお、すでに「universe」リポジトリが有効化されている場合は、以下のように表示されます。
$ sudo add-apt-repository universe
'universe'のコンポーネントはすべてのソースで有効になっています。
Ubuntuには4種類のリポジトリがあり、「universe」はその1つです。詳しくは以下の記事がとても参考になりました。
Ubuntu Japanese Teamメンバーによるインストール高座じゃなかった、インストール講座が開講!まずは、いろいろありすぎて選ぶのに迷う、Ubuntuの各バージョンの特徴を直球で解説しちゃうぞ。
あとは以下のようにaptコマンド経由でPowerShellをインストールすることができます。おおよそ159MBほどダウンロードされインストールされます。
$ sudo apt-get install -y powershell
以上でイPowerShellのンストールが完了です。
PowerShellの動作確認を行う
試しにPowerShellコマンドのpwsh
を実行してみると、以下のように入力待ち状態となります。
$ pwsh
PowerShell 6.2.2
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.
PS /home/myuser>
上記でdir
と入力して実行すると、ディレクトリ下のファイルとディレクトリが表示されます。
あとはPowerShellでスクリプトを実行したりコマンドを実行したりすることができます。exit
と入力しEnterキーを押下すると入力待ち状態が修了します。
PowerShellスクリプトを実行する
また、適当に以下のようなhello.ps1
という名前でPowerShellスクリプトを作成します。
hello.ps1Write-Host "Hello World!"
PowerShellの入力待ち状態で、以下のように作成したhello.ps1
を実行できます。
PS /home/myuser> ./hello_pwsh.ps1
Hello World!
bashからPowerShellスクリプトを実行する
実行権限を与えて1行追記すればその他のシェルスクリプトと同様にシェルから実行することもできます。
具体的には、まずスクリプトの先頭にPowerShellスクリプトであることを明記します。
hello-bash.ps1#! /usr/bin/pwsh
Write-Host "Hello World!"
実行権限を与えます。
$ chmod +x hello-bash.ps1
以下のように作成したhello.ps1
を実行できます。
$ ./hello-bash.ps1
Hello World!
まとめ
PowerShellをLinux上でも簡単に使用できるようになりました。Linuxにはすでにより強力なコマンドツールが十分にあるため、おそらくLinuxユーザがより快適なコマンドツールやスクリプト言語を求めてPowerShellに移行するということはないと個人的に思っています。しかし、PowerShellや.NETをどうしても使用しない開発者も一部にはおり、それらの開発者にとってはとても有り難いことだと思います。
SPONSORED LINK