#やりたいこと
Macのターミナルで open .
ってやるとカレントのディレクトリのパスをFinderで表示したり、open hoge.png
ってやると画像を見れたりして便利。WSLのターミナル上でも同じことをやりたい。
#やってみた
Powershellは詳しくないのだがコマンドレットStart-Process
を使えばいい感じにできそう。
WSLからWindowsのプロセスがいい感じに呼び出せるのでPowershell.exeを利用して呼び出せば上手くいった。
私はzsh使っているので~/.zshrc
から呼び出されるスクリプトに下記を定義しておいた。
open() {
powershell.exe -Command "Start-Process $1"
}
WSL上で下記は期待動作。
open .
open hogehoge.png
#結果
WSL2がとても快適に。
#課題
しかし、~などは使えないみたい・・・ wslpath を使って変換しないと駄目か・・・
open ~
Start-Process : このコマンドは、次のエラーのため実行できません: 指定されたファイルが見つかりません。。
発生場所 行:1 文字:1
+ Start-Process /home/hoge
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process]、InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand