WSL

WSL BashからPowershellやcmdを実行

WindowsのLinuxコマンドライン環境でのBash言語において、WSL BashからPowershellやcmd.exeなどのWindowsのコマンドを実行するベターな方法について少し紹介します。エスケープとか、忘れたらエラーになるし、最悪変なコードが実行されて大変なことになりかねません。ということで、これからは…

Shou Arisaka
1 分で読める
2018年12月24日

WindowsのLinuxコマンドライン環境でのBash言語において、WSL BashからPowershellやcmd.exeなどのWindowsのコマンドを実行するベターな方法について少し紹介します。

今までは、powershell.exe ruby -e “puts ‘OK‘“みたいにやってたんですが、

まぁこれって、察せると思いますが、エラー結構でます。

ruby -e “puts ‘OK‘“の部分がBashのスクリプトとして機能してしまっていることが原因です。 powershell.exeの後に続くコードが長くなればなるほど、エラー率上がります。

少なくとも、このやり方だとpowershellで実行したコードと同じ出力が得られる確証はありません。 エスケープとか、忘れたらエラーになるし、最悪変なコードが実行されて大変なことになりかねません。

ということで、これからはこうすることにしました。

powershell.exe - <<'EOF'
ruby -e "puts 'OK'"
EOF

この記事をシェア

Shou Arisaka 2018年12月24日

🔗 リンクをコピー