непоследовательное поведение bash

У меня есть операционная система Windows 10, в которой я установил WSL2 Ubuntu 20.04.

Он работает нормально, но у меня странное поведение bash, которое я не могу решить.

Если я открываю bash через start или из проводника файлов, bash запускается из домашнего каталога Windows (c / users / myname) и читает файл .bashrc внутри.

Если я выполняю bash через командную строку, powershell или набирая его в адресной строке обозревателя, он открывается через монтирование WSL2 и читает bash.bashrc и .bashrc, последний из которых находится в моем домашнем каталоге ubuntu.

Я хочу, чтобы ubuntu постоянно запускалась в моей среде Windows, когда ее вызывали оттуда. Какие файлы / конфигурации мне нужно изменить, чтобы иметь возможность изменить запуск bash.exe.

Спасибо!

0
задан 23 April 2021 в 15:30

1 ответ

Поскольку вы подтвердили, что у вас установлен Git Bash, мы можем с уверенностью определить проблему.Изменить: в комментариях я вижу, что вы выяснили, как это исправить, но я почти закончил писать ответ, поэтому оставлю его на месте.

Краткий ответ: запустите WSL с помощью команды wsl , а не bash . Это позволит избежать путаницы между WSL и Git Bash.

Более длинный ответ:

Когда вы вводите «bash» в меню «Пуск», оно находит Windows-приложение с «bash» в его имени, то есть «Git Bash». Когда Git для Windows установлен, он добавляет несколько программ в меню «Пуск» (если, конечно, вы не выбрали «Не создавать папку меню« Пуск »» ), включая, конечно, Git Bash. Возможно, более старые версии Git для Windows называли его просто «Bash», но в последней версии используется «Git Bash», чтобы избежать путаницы.

С другой стороны, когда вы запускаете bash в командной строке, не ищет записи в меню «Пуск»; он ищет исполняемые файлы в вашем PATH . bash.exe - это более старый и, конечно же, не рекомендуемый способ запуска WSL. Хотя вы можете использовать по-прежнему, лучше переключиться на новую команду wsl.exe (или просто wsl ). Это позволит избежать путаницы, а также предоставит вам большое количество дополнительных опций (см. wsl --help ), таких как:

  • Резервное копирование ваших экземпляров WSL
  • Запуск с другим пользователем, использующим ] wsl -u root без необходимости sudo
  • Запустить команду вообще без запуска оболочки (на самом деле, запустив команду как оболочку) с помощью wsl --exec ( например wsl --exec chsh , wsl --exec tmux и т. Д.)
  • Измените используемую версию WSL.
  • (Скоро, в предварительной версии) Подключите дополнительные диски, либо Windows или виртуальный
  • И многое другое
1
ответ дан 23 April 2021 в 23:17

Другие вопросы по тегам:

Похожие вопросы: