5

Я только что установил MSYS2, и чтобы он использовал мою папку пользователя Windows как $ HOME, я поместил это в /etc/bash.bashrc:

HOME=$USERPROFILE

И это прекрасно работает, когда я просто запускаю cd, за исключением того, что подсказка больше не показывает ~ текущий путь, когда я там. Другая проблема заключается в том, что

cd ~

переводит меня в мой домашний каталог, но нажатие клавиши tab после ~ не расширяет его содержимым моего домашнего каталога; Между тем, я получаю список пользователей моего компьютера с префиксом ~, и попытка доступа к одному из них заставляет его перейти на /home /(имя пользователя).

Как мне заставить ~ хорошо играть с домашним каталогом, который не находится в /home?

ps: репутация слишком низкая, поэтому я не могу пометить ее msys2

3 ответа3

7

Правильный способ сделать это - поместить это в /etc/nssswitch.conf:

db_home: windows

Смотрите здесь для документов.

Также, чтобы сделать вывод homedir ls более читабельным, я поместил это в ~/.bashrc:

alias ls="ls -h --color=auto --hide='ntuser.*' --hide='NTUSER.*'"
4

Отредактируйте /etc/fstab для монтирования C:\Users как /home и вуаля! Например, добавьте следующее в конце fstab:

C:/Users /home ntfs binary,noacl,auto 1 1
3

$ USERPROFILE указывает на домашнюю папку пользователя в формате Windows , но, очевидно, MSYS будет ожидать путь в стиле UNIX . Я прочитал предложение в другом посте, возможно, здесь, именно поэтому я попробовал это.

По какой-то причине cd: путь к Windows в MSYS bash приведет вас к правильному подключенному местоположению этой папки, но тогда вы больше не будете находиться по пути, указанному в $ HOME, что, как я считаю, является причиной того, что это предложение работает, но все равно не заменяет путь на ~ в приглашении.

После того, как эта ситуация меня осенила (частично благодаря Астаре), я придумал это:

HOME=/c/Users/$USER

в /etc/bash.bashrc или в любом другом файле bashrc, если вы не используете MSYS2.

Конечно, для этого требуется, чтобы папка пользователя была C:\Users, как, по крайней мере, в Windows 7 и 8.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .