2017-02-06 13 views
2

Windows 10のパスと 'Windows(WSL)上のUbuntu上のBash'パスを同期させる最善の方法は何ですか?WindowsとWindows間のパスをUbuntu on Windowsで同期させる

私はWindows 10 Path(bash互換に変換されたもの)を.bashrcに追加しましたが、bashシェルはそれを選択していないようです。

手順を私が取った:

  1. ウィンドウズのパス>はエコー%のPATH%を
  2. 関連するパスを選択し、互換性のある のbashに変換(例えばC:\ Javaはなりを/ mnt/C/Java)の
  3. を例えば.bashrcにする
  4. 追加.bashrcの
  5. スタートbashの&編集> 輸出PATH = $ {PATH}:/ binに:を/ mnt/C/Javaの/ binに:を/ mnt/C /ノード
+1

これを行う際に何がポイントになるのでしょうか?とにかくUbuntuからWindows実行ファイルを実行することはできません。これを言って、私はbashで変換を行いませんが、より良い文字列処理能力を持つ言語で補助プログラムを書いています(Ruby、Perl、...)。 bashでそれをやりたいのであれば、Windowsのパスをセミコロンで分割し、それぞれのパスコンポーネントを別々に変換し、セパレータとしてコロンでパスを再度結合することをお勧めします。 – user1934428

+3

@ user1934428 Insiderビルド14951以降、WindowsアプリケーションをBash内から呼び出すことができました:https://blogs.msdn.microsoft.com/commandline/2016/10/19/interop-between-windows-and-bash/ –

答えて

3

インサイダーのように、あなたの.bashrcに、Windowsのパスを追加する必要はありません145963(ISH)を構築:、それ以降で

を構築し、クリエイターUpdateから以降、WSLは自動的にあなたのバッシュに、Windowsのパスを追加パス上にある実行可能ファイルの絶対パスの場所を入力することなく、Bash内からWindows実行ファイルを起動することができます。例えば

、あなたのC上の一時フォルダに移動:ドライブ、テキストファイルを作成し、メモ帳で開き:

$ cd /mnt/c/temp 
$ echo Hello > hello.txt 
$ Notepad.exe ./hello.txt 

ヒント:.exe拡張子を忘れてはいけない - それが告げるものですLinuxが.exeを起動するようにWSLに依頼する

+0

あなたに遅れて質問してください:私が[何かをインストールしてパスを適合させるものを使う] dpkgやlinuxbrewをbashに入れたら、PATHの変更がウィンドウに反映されますか、それともcopypasteする必要がありますか?私はいくつかの開発プロジェクトのために、私が得たものはすべて、非常に複雑な設定で、「ウィンドウの下で動作するかどうかわからない」、あるいは「自作スクリプトを使用する」という千のフラグが付いているからです。ありがとう! – simlei

+0

いいえ - あなたのLinuxパスはWindowsに公開されていません。あなたのWindowsパスはBashのLinuxパスに追加されます。 Windowsツールを使用してLinuxファイルシステムにナビゲートしないでください。代わりに、Windows-Linux境界を越えてファイルを共有したい場合は、BashからWindowsファイルにアクセスしてください –

関連する問題