ПРИМЕЧАНИЕ. Пожалуйста, ознакомьтесь с моим вторым редактированием ниже для получения обновленной информации о проблеме.
Cygwin работал хорошо для меня до прошлой недели. Теперь .bashrc не получает источник. Я, должно быть, установил что-то или изменил что-то, но я не могу точно вспомнить, что вызвало проблему. Когда я запускаю Cygwin, я нахожусь в моем доме Windows, и ни один из моих псевдонимов не работает. Я должен вручную источник .bashrc. Вот мой Cygwin.bat:
@echo off
C:
chdir C:\cygwin\bin
set CYGWIN=tty notitle glob
bash --login -i
Любые идеи?
РЕДАКТИРОВАТЬ: мой .bash_profile содержит следующее,
# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi
EDIT2: ВАЖНО! Когда я запускал Cygwin, он запускался в моей домашней папке Windows. Я попытался поместить мои .bash_profile и .bashrc в эту папку, и они были получены правильно! Это означает, что проблема сводится к выяснению, почему Cygwin запускается в домашней папке Windows, а не в обычной домашней папке Cygwin.
РЕДАКТИРОВАТЬ 3: Результаты выполнения grep Gulshan / etc / passwd /
$ grep Gulshan /etc/passwd
Administrator:unused:500:513:U-Gulshan-HP\Administrator,S-1-5-21-1235613160-4193452482-2032876723-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-Gulshan-HP\Guest,S-1-5-21-1235613160-4193452482-2032876723-501:/home/Guest:/bin/bash
Gulshan:unused:1000:513:U-Gulshan-HP\Gulshan,S-1-5-21-1235613160-4193452482-2032876723-1000:/home/Gulshan:/bin/bash
/cygdrive/c/Users/foo
а не C:\Users\foo
)
HOME=/home/yourname bash -l
в терминале? Если я прав, это должно дать вам правильно работающую оболочку. Обратите внимание, что это диагностика или, в лучшем случае, обходной путь, а не решение; нам все еще нужно выяснить, почему вы $HOME
в первую очередь неверны. Основная проблема заключается в неправильной настройке $HOME
; Баш ведет себя правильно.
echo $HOME
печатает?