Каково расположение .bashrc в WSL?

Я использую подсистему Windows для Linux и пытаюсь найти файл .bashrc моего терминала.

Другие потоки обычно указывают одно из двух мест:

C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\{LINUXUSER}\

или

C:\Users\USERNAME\AppData\Local\Lxss\home\USERNAME

На моей машине папка Local не содержит подкаталога Lxss, поэтому второй вариант исключается, а папка home ничего не содержит, что исключает первый вариант. Где я могу найти .bashrc?

может ли быть, что .bashrc изначально не существует? попробуйте создать его и посмотрите, подействует ли он.

Eliran Malka 07.04.2019 11:18

Где мне его создать?

quantumbutterfly 07.04.2019 11:19

Я объяснил, почему два решения не работают для меня в моем основном посте.

quantumbutterfly 07.04.2019 11:27

Дал, что выстрел, и это не сработало. Имеет смысл, поскольку «~» отображается в «/mnt/c/Users/USERNAME», что является файловой системой Windows, а bash, вероятно, извлекает .bashrc откуда-то из файловой системы Ubuntu.

quantumbutterfly 07.04.2019 11:33

Я установил Kali Linux как WSL, и у меня была та же проблема, я только что набрал cd ~, а затем pwd, мой дом установлен на /home/{USER}, затем я нашел .bashrc, надеюсь, это поможет.

felix at housecat 23.11.2019 21:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
5
8 079
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Таким образом, по-видимому, WSL не создает пользователя по умолчанию.

Можно настроить следующим образом

$ sudo adduser newuser # new user to play with, creates in /home/newuser like your default
$ sudo cp -aR /home/newuser /mnt/c/Users/<you>
$ sudo echo "echo 'running bashrc'" >> /mnt/c/Users/<you>/newuser/.bashrc
$ sudo usermod -d /mnt/c/Users/<you>/newuser newuser

Как только вы это сделаете, вы сможете отредактировать профиль .bashrc в домашнем каталоге этого пользователя.

Это /mnt/c/Users/<you>/newuser/.bashrc, как видно из Ubuntu, или C:\Users\<you>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\newuser\.bashrc, как видно из Windows.

В качестве альтернативы, вместо создания пользователя Ubuntu, вы можете поместить .bash_profile в C:\Users\<you>

См. эту тему для получения дополнительной информации: https://github.com/Microsoft/WSL/issues/2612

Ответ @quantumbutterfly неверен. Связанный поток на github ссылается на то, что люди не смогли запустить свои .bashrc после перемещения своего домашнего каталога. WSL создает пользователя по умолчанию. Если бы это было не так, ничего бы не получилось.

SeeJayBee 17.04.2019 01:18

Ответ @quantumbutterfly неверен. Связанная ветка на github относится к людям, обнаружившим, что их .bashrc не запускался после перемещения их домашнего каталога.

WSL создает пользователя по умолчанию. Вы делаете это как последнюю часть установки.

Вы должны иметь возможность запустить сеанс WSL и создать .bashrc в своем домашнем каталоге (~).

Если вы хотите узнать, где находится этот файл в Windows, просто введите следующее: wslpath -aw ~.

Если у вас возникли проблемы с получением источника .bashrc после перемещения домашнего каталога, вероятно, все, что вам нужно, это usermod, упомянутый в сообщении кванта.

Другие обходные пути включают в себя:

  • Создайте .bash_profile в своем домашнем каталоге и добавьте source ~/.bashrc в конце.
  • Отредактируйте ярлык bash on Ubuntu on Windows и добавьте --rcfile ~/.bashrc в конец команды. Например: C:\Windows\System32\bash.exe ~ --rcfile ~/.bashrc

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