Tengo esto como la última línea en mi .profile:
alias gl="cd /home/jrenner/glances/glances"
Sin embargo, incluso después de reiniciar, aparece un comando que no se encuentra al escribir gl. ¿Qué está pasando? Estoy conectado como el usuario correcto.
command-line
bash
alias
.profile
talloaktrees
fuente
fuente
gl
? ¿La terminal? La GUI?.profile
no funcionan en ningún contexto que probé: inicios de sesión de consola de texto, terminales gráficos o cualquier otra cosa, aunque las variables ambientales del mismo archivo sí funcionan.Respuestas:
Estoy bastante seguro de que la idea de lpanebr funcionará, pero aquí hay una solución más elegante. Haga ese comando de alias en
.bashrc
Así es como lo hago, o algunas personas prefieren agregar un archivo dedicado a alias. Llámalo.alias
o lo que sea y agrégalo.alias
a tu.bashrc
Ojalá pudiera formatear como @lpanelbr. Me pregunto si hay una wiki?
fuente
.bashrc
funciona mientras.profile
que no? Además, ¿alguna razón por la que elegiste nombrar el archivo de alias en.allias
lugar de.alias
?Hay dos razones relacionadas por las cuales los alias no siempre funcionan cuando se colocan en el
.profile
archivo. El primero es que el archivo.profile
(o.bash_profile
) solo se ejecuta para un shell de inicio de sesión. Si está iniciando bash en una ventana de terminal debajo de X, su emulador de terminal (por ejemplo, gnome-termanl) probablemente no esté ejecutando bash como un shell de inicio de sesión. [La mayoría tiene una opción para cambiar esto si lo desea, pero el valor predeterminado (para gnome-termal de todos modos) no es ejecutarlo como un shell de inicio de sesión.]El shell será un shell interactivo y, por
.bashrc
lo tanto , se ejecutará.Sin embargo, normalmente bash se ha ejecutado como un shell de inicio de sesión cuando se iniciaba la sesión X. Entonces, si hay comandos de alias
.profile
, se habrán ejecutado junto con la configuración de variables de entorno como PATH, etc. Cuando se abre una ventana de terminal, se ejecuta una nueva instancia de bash para solicitar y ejecutar comandos en esa ventana de terminal. A diferencia de las variables de entorno, los alias no se pueden exportar de una instancia de bash a una nueva iniciada por ella. Por lo tanto, los alias no se pasan al nuevo shell.Para ver esto, prueba este experimento:
Tenga en cuenta que
.bashrc
bash no lo ejecuta cuando se inicia como un shell de inicio de sesión. Por lo tanto, poner sus alias allí no siempre funcionará a menos que su.bashrc
fuente sea suya.profile
, lo cual es una práctica muy común.fuente
source .bashrc
en.bash_profile
permitido que el conjunto de alias en .bashrc al trabajo.~/.bash_aliases
. Esa es la forma correcta de hacerlo. (lea el archivo .bashrc para más detalles).Si está utilizando bash (
echo $SHELL
) como intérprete de shell, creo que es mejor (o tal vez la única forma) si define su propia función de CD.Edite su
.bashrc
archivo y agregue lo siguiente al final:También podría extenderlo así:
y cambie directamente a un subdirectorio y enumere su contenido.
fuente
alias
directiva colocada en el.profile
archivo.Este fue un problema con mi servidor. Simple
source .profile
no funciona por alguna razónfuente
La forma correcta de hacer esto en Ubuntu es agregar su alias
~/.bash_aliases
. Cree el archivo si no existe.Este archivo (si está presente) se llama desde el valor predeterminado
~/.bashrc
, y el alias también estará disponible en sus emuladores de terminal.fuente