Uso MinGW en Windows 7. Tengo un .bashrc
con algunos alias. El archivo está en mi carpeta de inicio, que es donde MinGW me inicia, por lo que también cree que la carpeta es mi carpeta de inicio. No carga el contenido de la carpeta automáticamente. Tengo que ejecutar el bash
comando para que los alias funcionen.
He intentado renombrarlo .bash_profile
. Esto solo empeoró las cosas, ya que no se cargó automáticamente y tampoco se cargó cuando ejecuté bash
manualmente.
¿Como puedo solucionar este problema?
bashrc
.bash-profile
mingw
KurToMe
fuente
fuente
Respuestas:
bash
probablemente esté comenzando como un shell de inicio de sesión, en cuyo caso no se lee.bashrc
automáticamente. En cambio, se lee.bash_profile
. Del manual de Bash :En resumen, cree un
.bash_profile
archivo en su homedir y agregue la línea citada anteriormente.Si en
bash
realidad se le invoca comosh
, entonces deberá usarlo en.profile
lugar de.bash_profile
(consulte la sección "Invocado con el nombre sh" del enlace del manual de Bash arriba).fuente
.bash_rc
en la pregunta, pero quise decir.bash_profile
.[ -f ~/.bashrc ] && . ~/.bashrc
Estoy ejecutando Windows XP y tuve el mismo problema. Encontré CÓMO crear un entorno de compilación MSYS .
Esta es la línea importante:
Para ayudar a identificar la compilación de tiempo de ejecución y el directorio de trabajo actual, se puede agregar lo siguiente al
~/.profile
archivo.En MinGW shell, creé
.profile
:Solía Notepad ++ para editar como un archivo de texto en formato Unix llamado
.profile
y lo ha guardado en mi directorio personal,C:\MinGW\msys\1.0\home\Your_Username_Here\.profile
Luego agregué mi alias y guardé:
Luego activé el acceso directo de MinGW Shell desde mi menú de inicio y ¡hurra, funcionó! nano sin envoltura de texto.
Espero que esto te ayude.
fuente
No encontré que el .bash_profile funcionara para mí (no estaba siendo leído), así que tomé el enfoque .profile y lo puse dentro:
Esto reemplaza mi shell actual con un nuevo comienzo de bash, que lee mi .bashrc
Estoy pensando que usar un .profile sugiere que sh se usa al iniciar sesión, no bash.
fuente
Para mí, para MINGW instalado con GIT, funcionó: .bash_profile poner en
C:\Users\[user_name]
Este es también el directorio donde ~ apunta a shell (pwd).
Solo asi :)
fuente
En la línea de @Koshmarr, pero ligeramente diferente. Mi
mingw64
, descargado de git-scm.com , se cargaría/c/Users/[user-name]
al inicio. Sin embargo, mi unidad de casa (encontrada porcd ~
) estaba adentro/h/
. Puse un.bashrc
y.bash_profile
en mi~
disco y todo funcionó.En
.bash_profile
:Solo averigua dónde MINGW considera su hogar y ponlo
.bash_profile
allí.fuente
Cómo configurar archivos de inicialización de MSYS Bash
En el sistema operativo Windows, la forma en que señala los archivos de inicialización utilizados por Bash (es decir, perfil, bash_profile, bashrc) es diferente en comparación con el sistema operativo Linux.
La diferencia entre el sistema operativo Windows y Linux es su estructura de sistema de archivos, lo que conduce a una diferencia en las ubicaciones de archivos Bash y las convenciones de nombres de archivos.
Cómo configurar archivos de inicialización de MSYS Bash (es decir, perfil, bash_profile y bashrc)
1) En WINOS, abra la carpeta 'etc' ubicada aquí 'C: \ msys \ 1.0 \ etc \'. Nota. debería ver un archivo 'perfil' dentro de la carpeta 'etc'.
2) Guarde un archivo sin extensión de archivo (es decir, cuando guarde, establezca guardar como tipo en '.todos los archivos') con el nombre de archivo '.bash_profile' en 'C: \ msys \ 1.0 \ home \ USERNAME'. Nota. hay un punto como prefijo para el nombre del archivo (por ejemplo, '.bash_profile') como cabría esperar en la configuración de Linux OS Bash
2) Guarde un archivo sin extensión de archivo (es decir, cuando guarde, establezca guardar como tipo en '.todos los archivos') con el nombre de archivo '.bashrc' en 'C: \ msys \ 1.0 \ home \ USERNAME'. Nota. hay un punto como prefijo para el nombre del archivo (por ejemplo, '.bash_profile') como cabría esperar en la configuración de Linux OS Bash
4) Abra el archivo 'perfil' en un editor de texto (el texto sublime x es bueno) Nota: La ubicación del archivo 'perfil' es 'C: \ msys \ 1.0 \ etc \'
Dentro del archivo 'perfil', desplácese a la línea de texto al final del archivo (es decir, desplácese hasta la parte inferior), debería ver una línea de prueba que indica que Bash cambia su directorio actual a INICIO (en MSYS, INICIO es como se define en archivo 'perfil')
5) Antes de la línea con el texto 'CD $ HOME' copie el siguiente código: al agregar este script dentro de 'profile' se le indicará a MSYS bash que ejecute el bash_profile # ---------------- -------------------------------------------------- --------- #modified BEGIN
6) Abra el archivo 'bash_profile' en un editor de texto ( Sublime Text x es bueno) y el final del archivo (en la parte inferior del archivo)
7) Copie el siguiente código al final del archivo: agregar este script dentro de '.bash_profile' le indicará a Bash que ejecute el '.bashrc'
# ------------------------------------------------- --------------------------
8) OK, ahora escribamos un pequeño script dentro de '.bashrc' para ver si 'profile' está llamando a 'bash_profile' y si 'bash_profile' está llamando a '.bashrc'.
8.1) Piensa en el nombre de un comando que deseas crear. Usemos 't' para significar prueba
8.2) Abra la terminal Bash y escriba 't'. Bash debería responder 't: comando no encontrado': si no dice 't: comando no encontrado', repita 8.1 y 8.2 hasta que el nombre de su comando diga 'comando no encontrado'. No desea asignar un alias a un nombre de comando asignado a bash BAD !, por lo que debe ser 'comando no encontrado'
8.3) OK, 't' me dio un 't: comando no encontrado'. Ahora escribamos el script en '.bashrc'
8.4) En '.bashrc' escribe
8.5) Guarde el archivo '.bashrc' en 'C: \ msys \ 1.0 \ home \ USERNAME'
9) Casi allí. Ahora reinicie el terminal Bash y asegúrese de cerrar cualquier terminal Bash abierto anteriormente
10) Escriba el terminal 't'. Debería responder 'prueba aprobada'. De lo contrario, verifique cuidadosamente que el código se escribió correctamente (comience por verificar las comillas)
Algunas notas 1) 'nombre de archivo fuente' es lo mismo que '. nombre del archivo'
2) "" las comillas dobles permiten que las variables sean reemplazadas por su contenido, las comillas simples no
3) $ HOME es / home / USERNAME igual que ~ is / home / USERNAME
4) Siempre se prefiere una función sobre el alias 2
Para más detalles ver referencia de BASH
Soy nuevo en Bash. Así que no hay garantía de que hice esto de la mejor manera.
¡Buena suerte!
fuente