WSLのコマンドを呼び出すPowerShellスクリプト

スクリプト

PowerShellスクリプト 1.ps1

 $args = $Args -join ' '
 $cmd = "bash -c './1.sh {0}'" -f $args
 Invoke-Expression $cmd
  • bash -cの引数に1.shを指定して、その際、1.ps1の引数もまるごと1.shに渡す
  • そうしてできたbash -cの文字列をInvoke-Expressionで実行する(evalのようなもの)

シェルスクリプト 1.sh

 echo Hello $*
  • 1.ps1から渡って来る引数は$*で展開する

実行

 PS> ./1.ps1 world foo
 Hello world foo

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2019-01-13 (日) 16:59:23