@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

PowerShellのdockerコンテナでPowerShellスクリプトを実行する関数

PowerShellLinux系で動くことを知りませんでした。 Dockerコンテナがあったので、ファイルを指定して実行できるような関数を定義しました。

関数を利用しない場合はカレントディレクトリを/homeあたりにマウントして、そこへのパスをpwshコマンドに渡せば動きます。
(powershellじゃなくてpwshってことに気づくまでに少し時間がかかった。さっさとDockerfile見とけばよかった)

 docker run -v $PWD:/home --rm microsoft/powershell pwsh /home/foo.ps

dockerを実行する関数を定義すればpwsh path/to/file.ps みたいに呼び出すことができます。

# -*- shell-script -*-
# Usage: pwsh path/to/some.ps
function pwsh(){
  file=$1
  docker run -v $(cd "$(dirname "$file")"; pwd):/home --rm microsoft/powershell pwsh home/$(basename $file)
}

参考URL

stackoverflow.com