とある地味なブログ

プログラミングとお絵かきに関する雑記。

Bash on Ubuntu on Windows10 から Windowsアプリケーションを起動する

bashからWindowsのアプリケーションを起動したい。したくない?

$ notepad hoge.txt

みたいに。

cbwin

github.com

こちらのツールを使う。 インストールと使い方はREADMEを見てね。

しかし、このツールはUbuntuのパスをWindowsのパスに変換してくれない。(バグ?) ので、変換スクリプトを書きました。

※本来は、コマンドの第一引数に:を渡すとパス変換をせず、 渡さないとパス変換をしてくれるっぽいんだけど、

can't translate a WSL VolFs path to a Win32 one

というエラーが出るので、変換に失敗しているらしい。

スクリプト

zshスクリプトです。bashで動かすなら、配列の添字とreadコマンド修正すればいいかな?

bashで使いたい人がいれば、コメントくれれば書くかもしれません。bash力ないですが。

使い方

  1. このスクリプト.zshrcに追加します。
  2. WIN_USERWindowsユーザ名を設定します。
  3. source .zshrcでリロードします。
  4. mkdir tmp; wcmd notepad tmp/hoge.txtを実行して保存すると、./tmp/下にfoo.txtが作成されます。

但し

オプションには対応していません。