LoginSignup
0
1

More than 3 years have passed since last update.

WSL2のターミナルでMacのopenみたいものを定義する

Posted at

やりたいこと

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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1