Pregunta:
NOTA: Consulte mi segunda edición a continuación para obtener una actualización del problema.
Cygwin funcionó bien para mí hasta la semana pasada. Ahora .bashrc no se está obteniendo. Debo haber instalado o cambiado algo, pero no recuerdo exactamente qué causó el problema. Cuando inicio Cygwin, estoy en mi casa de Windows y ninguno de mis alias funciona. Tengo que obtener manualmente .bashrc. El siguiente es mi Cygwin.bat:
@echo off
C:
chdir C:\cygwin\bin
set CYGWIN=tty notitle glob
bash --login -i
¿Algunas ideas?
EDITAR: Mi .bash_profile contiene lo siguiente,
# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi
EDIT2: ¡IMPORTANTE! Cuando inicié Cygwin, se inicia en mi carpeta de inicio de Windows. ¡Intenté poner mi .bash_profile y .bashrc en esta carpeta y se obtuvieron correctamente! Esto significa que el problema se ha reducido a averiguar por qué Cygwin se inicia en la carpeta de inicio de Windows y no en la carpeta de inicio normal de Cygwin.
EDIT3: Resultados de ejecutar 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
Respuesta:
Las preguntas frecuentes de Cygwin explican cómo se configura $HOME
:
Al iniciar Cygwin desde Windows,
HOME
se determina de la siguiente manera en orden de prioridad decreciente:
HOME
desde el entorno de Windows, traducido al formato POSIX.- La entrada en
/etc/passwd
/home/USERNAME
Cuando se usa Cygwin desde la red (telnet, ssh, …),
HOME
se configura desde/etc/passwd
.Si su
HOME
está configurado en un valor como/cygdrive/c
, es probable que se haya configurado en Windows. Inicie una ventana de comandos de DOS y escribaset HOME
para verificar si este es el caso.El acceso a las unidades compartidas a menudo está restringido cuando se inicia desde la red, por lo que los usuarios del dominio pueden desear tener un
HOME
diferente en el entorno de Windows (en la unidad compartida) que en/etc/passwd
(en la unidad local). Tenga en cuenta que ssh solo considera/etc/passwd
, sin tener en cuentaHOME
.
Mi mejor suposición es que ha estropeado su /etc/passwd
. (El directorio de inicio de Windows es %USERPROFILE%
, no %HOME%
.)
¿Qué imprime grep USERNAME /etc/passwd
(reemplazando USERNAME
con su nombre de usuario)?