2017-02-06 11 views
2

Каков наилучший способ сохранения пути Windows 10 и пути «Bash on Ubuntu on Windows (WSL)»?Удерживайте путь между Windows и «Bash on Ubuntu on Windows» в синхронизации

Я добавил путь Windows 10 (преобразованный в совместимый с bash) в .bashrc, но оболочка bash, похоже, не подбирает ее.

шаги я взял:

  1. Получить для Windows Путь> эхо% PATH%
  2. Выберите соответствующие пути и конвертировать в Баш совместимый (например, C: \ Java становится/мнт/с/Java)
  3. Start Баш & редактировать .bashrc
  4. Append к .bashrc например> экспорт PATH = $ {PATH}:/бен:/мнт/с/Java/бен:/мнт/с/узел
+1

Могу ли я спросить вас, в чем смысл этого? В любом случае вы не можете запускать исполняемые файлы Windows из Ubuntu. Сказав это, я бы не сделал преобразования в bash, но написал вспомогательную программу на языке с лучшими возможностями обработки строк (Ruby, Perl, ....). Если вы хотите сделать это в bash, я предлагаю вам разделить путь Windows на точки с запятой, преобразовать каждый компонент пути отдельно и снова объединить путь вместе с двоеточием как разделителем. – user1934428

+3

@ user1934428 Вы смогли вызвать приложения Windows из Bash, так как Insider build 14951: https://blogs.msdn.microsoft.com/commandline/2016/10/19/interop-between-windows-and-bash/ –

ответ

3

По состоянию на Insider построить 145963 (МОГ), вам не нужно добавить путь для Windows в вашем .bashrc:

В последующем строит, и из Создателей Update года, WSL автоматически добавляет путь для Windows на вашем Bash путь, позволяющий запускать исполняемые файлы Windows из Bash без необходимости вводить абсолютное местоположение папки в исполняемые файлы, которые находятся на пути.

Например, перейдите в папку темп на диске С: диск, создать текстовый файл и открыть его в блокноте:

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

Совет: Не забывайте о продлении .exe - это то, что говорит Linux попросить WSL запустить .exe

+0

Поздний вопрос для вас: Если я использую [что-то, что будет что-то устанавливать и адаптировать путь] dpkg или linuxbrew в bash, это отразит изменения PATH обратно в окна или мне придется копировать их? Я спрашиваю, потому что для какого-то проекта dev все, что у меня есть, - это очень запутанная настройка с тысячей флагов «не уверен, что это работает под окнами», а затем «или просто используйте мой сценарий homebrew ...». Благодаря! – simlei

+0

Нет - ваш Linux-путь не открыт для Windows - только наоборот; ваш путь к Windows добавляется к вашему пути Linux в Bash. Вам следует избегать навигации в файловую систему Linux с помощью инструментов Windows. Вместо этого обращайтесь к своим файлам Windows из Bash, если вы хотите обмениваться файлами по границе Windows-Linux –

 Смежные вопросы

  • Нет связанных вопросов^_^