UWAGA: Proszę zobaczyć moją drugą edycję poniżej, aby uzyskać aktualizację problemu.
Cygwin pracował dla mnie dobrze do zeszłego tygodnia. Teraz .bashrc nie jest pozyskiwany. Musiałem coś zainstalować lub coś zmienić, ale nie pamiętam dokładnie, co spowodowało problem. Kiedy uruchamiam Cygwin, jestem w domu Windows i żaden z moich aliasów nie działa. Muszę ręcznie pobrać .bashrc. Oto mój Cygwin.bat:
@echo off
C:
chdir C:\cygwin\bin
set CYGWIN=tty notitle glob
bash --login -i
Jakieś pomysły?
EDYCJA: Mój plik .bash_profile zawiera następujące elementy,
# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi
EDYCJA 2: WAŻNE! Kiedy uruchomiłem Cygwin, zaczyna się on w moim katalogu domowym Windows. Próbowałem umieścić mój .bash_profile i .bashrc w tym folderze i zostały one pozyskane poprawnie! Oznacza to, że problem został zredukowany do wyjaśnienia, dlaczego Cygwin uruchamia się w folderze domowym systemu Windows, a nie w zwykłym folderze domowym Cygwin.
EDYCJA 3: Wyniki działania 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
zamiast C:\Users\foo
)
HOME=/home/yourname bash -l
monit w terminalu? Jeśli mam rację, powinno to dać ci poprawnie działającą powłokę. Zauważ, że jest to diagnostyczne lub w najlepszym razie obejście, a nie rozwiązanie; musimy $HOME
przede wszystkim dowiedzieć się, dlaczego twój błąd jest nieprawidłowy. Podstawowym problemem jest nieprawidłowe ustawienie $HOME
; bash zachowuje się poprawnie.
echo $HOME
drukuje?