はじめに
WSL(Windows Subsystem for Linux)
でGit Bash
のようにコマンドラインからエクスプローラーを起動したいと思い、実行方法を調べてみました。
実行環境は以下のとおりです。
- Windows : Windows 10 Pro
- WSL : Ubuntu 18.04.2 LTS
やりたかったこと
Git Bash
ではコマンドプロンプトのstartコマンド
を使用してエクスプローラーを実行することができます。
$ start explorer [ディレクトリパス]
これと同じように、コマンドラインからエクスプローラを実行できるかをWSL
で確認します。
結果
結果としてWSL
では下記のコマンドでエクスプローラーを実行することができました。
$ explorer.exe [ディレクトリパス]
Windows側のファイルを実行できる理由
envコマンド
を用いてWSL側の環境変数PATH
の中身を確認してみました。
$ echo $PATH | sed s/:/\\n/g | grep -Ei "/mnt/c/windows"
/mnt/c/Windows/system32
/mnt/c/Windows
/mnt/c/Windows/System32/Wbem
/mnt/c/Windows/System32/WindowsPowerShell/v1.0/
/mnt/c/WINDOWS/system32
/mnt/c/WINDOWS
/mnt/c/WINDOWS/System32/Wbem
/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/
/mnt/c/WINDOWS/System32/OpenSSH/
/mnt/c/WINDOWS/system32
/mnt/c/WINDOWS
/mnt/c/WINDOWS/System32/Wbem
/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/
/mnt/c/WINDOWS/System32/OpenSSH/
どうやらWSL
ではWindows側の環境変数がデフォルトで反映される為、Windowsの標準コマンドなどの実行ファイルを指定できるようです。
.exeを指定しないでコマンドを実行する
実行方法は分かりましたが、いちいち.exe
を指定して実行するのが億劫なのでエイリアスを登録します。
エイリアスの登録
bashの設定ファイル.bashrc
の中にエイリアスを登録し、.exe
なしでコマンドが実行できるよう設定します。
$ vim ~/.bashrc
vim
の編集画面が開かれるので、以下のように.bashrc
に内容を追記してください。
alias [コマンド名]='[実行ファイル名]'
私は以下のように設定しました。
# aliases
alias explorer='explorer.exe'
編集が終わったら、sourceコマンド
で.bashrc
を再度読み込ませて、エイリアスを反映させます。
$ source ~/.bashrc
sourceコマンド
実施後、.exe
なしでコマンドを実行できるか確認します。
$ explorer .
これで.exe
なしで実行できるかと思います。
ちなみに設定したエイリアスの一覧はaliasコマンド
で確認できます。