NOTA: Consulte mi segunda edición a continuación para obtener una actualización sobre el problema.
Cygwin estuvo trabajando bien para mí hasta la semana pasada. Ahora .bashrc no se obtiene. 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 fuente 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 comencé Cygwin, comienza 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 descubrir por qué Cygwin se inicia en la carpeta de inicio de Windows y no en la carpeta de inicio normal de Cygwin.
EDITAR3: 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

echo $HOMEimprime?/cygdrive/c/Users/foolugar deC:\Users\foo)HOME=/home/yourname bash -len el indicador de terminal? Si estoy en lo cierto, esto debería darte un shell que funcione correctamente. Tenga en cuenta que esto es un diagnóstico, o en el mejor de los casos una solución alternativa, no una solución; Todavía tenemos que averiguar por qué su$HOMEincorrecta es en primer lugar. El problema raíz es la configuración incorrecta de$HOME; bash se está comportando correctamente.Respuestas:
Las preguntas frecuentes de Cygwin explican cómo
$HOMEse configura:Mi mejor suposición es que has estropeado tu
/etc/passwdarchivo. (El directorio de inicio de Windows es%USERPROFILE%, no%HOME%).¿Qué
grep USERNAME /etc/passwdimprime (reemplazandoUSERNAMEcon su nombre de usuario)?fuente
set HOME=? Es más probable que el uso del panel de control del sistema funcione, pero un reinicio podría ser necesario incluso en ese momento.Si tiene un .profile o .bash_profile, esto se obtiene de los shells de inicio de sesión, y obtiene un shell de inicio de sesión desde que lo aprueba
--login. Si obtiene .profile, bash no generará .bashrc.Intentaría poner:
en su perfil, vea si eso ayuda. Su .bashrc aún debe obtenerse, como es normal, en otras invocaciones de shell sin inicio de sesión.
Y no pases
-ia bash; no lo necesitas Bash es un tipo de pirateo que, simula que diste-ien la línea de comando.fuente
-ino es necesario. Gracias.-ien la línea de comando. Intente abrir una ventana de bash shell, entoncesecho $-, debería veri(entre otras posibles banderas)Experimenté el mismo comportamiento, probablemente después de tener instalado git (Windows).
En la configuración del sistema, encontré la variable de usuario HOME = C: \ Users \ me y restablecí esto a HOME = D: \ home
fuente