#author("2019-07-02T00:21:16+09:00","","") #author("2019-07-02T09:19:16+09:00","","") #navi(../) * ラズベリーパイでPowerShellを動かしてみる v6.2.1 [#m1d7df92] PowerShellがオープンソースとなり、LinuxでもPowerShellが動作するようになりましたね。~ GitHubにはArm32bit版のバイナリーも公開されているので、ラズベリーパイにインストールして簡単な動作確認(bitFlyerからビットコイン板情報の取得)までしてみようと思います。 #htmlinsert(minipc-top.html) #contens #contents * 関連サイト [#b3c8e7bf] -[[PowerShell Team GitHub>https://github.com/PowerShell]] * 動作確認をしたRaspberry Pi [#j3df4009] PowerShellをインストールし動作確認したラズベリーパイは以下の通りです。 - Raspberry Pi 3 Model B~ [[Raspberry Piの購入(Amazonへのリンク)>https://amzn.to/2IIrAhM]] - Raspbian Buster~ * インストールしたPowerShell Coreバージョン [#k823a262] インストールしたPoewerShellバージョンは v6.2.1 Release of PowerShell Core になります。~ -[[v6.2.1 Release of PowerShell Core>https://github.com/PowerShell/PowerShell/releases/tag/v6.2.1]] PowerShell CoreのリリースURLは以下の通りです。~ - https://github.com/PowerShell/PowerShell/releases * インストールする前に念の為、Raspbianをアップデート [#gee13a70] Raspbianのupadte / upgradeを実施します。~ ターミナル&ref(t.png);を起動します。~ 以下のコマンドを入力し実行してください。 sudo apt update && sudo apt -y upgrade * PowerShell Core実行のために必要なパッケージについて [#d3ca2710] 本記事では、''Raspbian Buster'' with desktop and recommended software イメージを使用しました。~ 特に追加のパッケージも必要なく、以下に記すようにPowerShell Coreのファイルを展開するだけで動作しました。 * v6.2.1 Release of PowerShell Coreのダウンロード [#m8a6b8f6] 本記事では、PowerShell Core v6.2.1のインストールを行います。~ 以下のURLから ''powershell-6.2.1-linux-arm32.tar.gz'' をダウンロードしました。 https://github.com/PowerShell/PowerShell/releases/tag/v6.2.1 #br #ref(01.png) * ダウンロードしたファイルを展開(解凍) [#d11453e9] ダウンロードしたファイルを以下のコマンドで展開します。~ +展開するディレクトリに関しては以下の場所にしました。 /opt/powershell/6.2.1 + ダウンロードしたtar.gzを展開するディレクトリを以下のコマンドで作成。 sudo mkdir -p /opt/powershell/6.2.1 +ダウンロードしたファイルを以下のコマンドで展開。~ sudo tar zxvf ダウンロードしたファイル -C 展開するディレクトリ 今回はブラウザでダウンロードしたので、ダウンロードしたファイルは~/Downloadにあります。~ 上記で作成したディレクトリに以下のコマンドで展開します。 sudo tar zxvf ~/Downloads/powershell-6.2.1-linux-arm32.tar.gz -C /opt/powershell/6.2.1/ + PowerShellコマンドである、pwshのパーミッションは以下のようなっており実行できないので、chmodコマンドを使って実行できるようにします。 ++ パーミッションの確認 $ ls -l /opt/powershell/6.2.1/pwsh -rwxr--r-- 1 root root 77172 5月 17 05:25 /opt/powershell/6.2.1/pwsh ++ パーミッションの変更 sudo chmod +x /opt/powershell/6.2.1/pwsh ++ パーミッションを確認しxが立っていることを確認しました。 $ ls -l /opt/powershell/6.2.1/pwsh -rwxr-xr-x 1 root root 77172 5月 17 05:25 /opt/powershell/6.2.1/pwsh * パスが通るようにする [#lb5f6239] 端末からpwshと入力し動作するように /usr/local/binにシンボリックリンクを以下のコマンドで作成します。 sudo ln -s /opt/powershell/6.2.1/pwsh /usr/local/bin/ シンボリックリンクファイルが作成されていることを確認します。 ls -l /usr/local/bin/ 合計 0 lrwxrwxrwx 1 root root 26 7月 1 23:58 pwsh -> /opt/powershell/6.2.1/pwsh * pwshを実行してみる [#u554a3cd] 起動するまで少々時間がかかりましたが、無事動作しました。 #ref(02.png) #br * いくつかコマンドを実行してみる [#k1d1d7fa] Windows向けに公開している「[[PowerShell備忘録>https://win.just4fun.biz/?PowerShell]]」にあるいくつかのコマンドを実行してみます。 以下の動作例は、bitFlyerのビットコイン板情報をJSONで取得した実行例です。 PS /home/pi> $board_api = "https://api.bitflyer.jp/v1/getboard" PS /home/pi> $board = Invoke-RestMethod -UseBasicParsing -Uri $board_api PS /home/pi> $board mid_price bids --------- ---- 1114004 {@{price=1113008; size=0.001}, @{price=1113006; size=0.04}, @{price=… PS /home/pi> $board.asks | % { "$($_.price) : $($_.size)" } | Select-Object -First 3 1115000 : 5.51641232 1115316 : 0.09 1117605 : 0.002 PS /home/pi> $board.bids | % { "$($_.price) : $($_.size)" } | Select-Object -First 3 1113008 : 0.001 1113006 : 0.04 1113005 : 0.8 PS /home/pi> #ref(03.png) #br 以上、ラズベリーパイにPowerShell Coreをインストールして動かしてみた記事でした。 #htmlinsert(minipc-btm.html)