Cómo definir persistentemente los alias en la Terminal

18

Quiero agregar alias a mi entorno para que estén disponibles en todas las instancias de Terminal.

Tengo this respuesta :

  

Sí, puedes ponerlo en tu .bashrc, .bash_profile o .profile. En algunos sistemas, los scripts de inicio de shell también generan .bash_aliases o .aliases, por lo que si uno de esos archivos existe en su sistema, puede tener sentido usarlos. '

Pero no puedo encontrar ninguno de estos archivos.

(Configuré OS X para ver archivos ocultos y, sin embargo, no veo ninguno de los 4 anteriores.)

    
pregunta Elad Benda 22.08.2013 - 10:44

7 respuestas

23

Si usas bash, agrega los comandos de alias a ~ / .bashrc y guarda un archivo como este como ~ / .bash_profile:

. ~/.bashrc

Cuando se invoca a bash como un shell interactivo sin inicio de sesión, lee .bashrc pero no .bash_profile. Cuando bash es invocado como shell de inicio de sesión interactivo, lee .bash_profile pero no .bashrc.

Terminal e iTerm abren nuevos shells como shells de inicio de sesión de manera predeterminada, por lo que muchos usuarios de OS X simplemente usan .bash_profile como su archivo de configuración personal. Por ejemplo, tmux y el modo shell en Emacs abren nuevos shells como shells que no son de inicio de sesión.

.profile también es leído por otros shells como ksh. Si existen tanto .bash_profile como .profile, bash solo lee .bash_profile cuando se invoca como un shell de inicio de sesión interactivo.

Consulte enlace para obtener más información.

    
respondido por el user495470 22.08.2013 - 19:16
6

Abra una nueva ventana de Terminal y vaya a su directorio de inicio (solo escriba cd y presione Entrar).

Después de eso, escriba ls .bash* y también ls .profile (tenga en cuenta que cada uno de esos nombres de archivo comienza con un punto). Si tiene esos archivos (y debería tener al menos el .profile uno), entonces necesita editarlos y agregarles sus alias. Utilizo VI (o VIM) para editar esos archivos, pero podría usar otro editor (de hecho, al escribir en la ventana de la Terminal open .bash_profile se abrirá en TextEditor, que puede ser un poco más fácil de usar si no está familiarizado con VI). Si, por algún motivo, no tiene ninguno de esos archivos, cree uno nuevo (y llámelo .bashrc), agregue sus líneas de alias en él (de modo que este sea un comando por línea, como los escribiría). en shell) y luego guardar el archivo. Luego puede crear enlaces simbólicos a .bash_profile y .profile usando ln -s .bashrc .bash_profile; ln -s .bashrc .profile .

Lo que normalmente hago es crear enlaces simbólicos de .bashrc y .bash_profile a .profile y luego solo tengo que preocuparme por un solo archivo.

La diferencia entre esos archivos es que bash generará otros diferentes dependiendo de si se inició como un shell de inicio de sesión (normalmente, un proceso de inicio de sesión iniciaría el shell como un shell de inicio de sesión) o solo como interactivo (pero no de inicio de sesión) shell, o una shell no interactiva. Tener los tres archivos esencialmente iguales me da un entorno consistente independientemente de cómo se inició bash.

Obtendrá más información haciendo man bash , pero prepárese, es una página de manual larga. Podrás ver cuál de los tres archivos (.bashrc, .profile y .bash_profile) tiene su origen dependiendo de en qué modo se inició bash.

Espero que ayude, si no, dame un grito.

    
respondido por el mike 22.08.2013 - 13:54
3

Ingrese los siguientes comandos en la Terminal:

cd /etc
sudo vi bashrc

agregue lo siguiente como:

alias ll="ls -lrt"

Finalmente reinicie Terminal.

    
respondido por el user172265 21.02.2016 - 18:29
2

Si necesita esta máquina en toda su extensión, debe buscar en la carpeta /etc . Sin embargo, es posible que no existan de forma predeterminada, en cuyo caso simplemente debe crearlos en la carpeta anterior y reiniciar el terminal. Lo más probable es que necesites usar sudo para crearlos, ya que la carpeta /etc es propiedad de root .

Si necesita esto para cada terminal que abra, no necesita hacerlo en toda la máquina. Puede crear estos archivos en su propia carpeta de inicio y el terminal los leerá cada vez que inicie una sesión de terminal.

También como se menciona en los comentarios, generalmente solo podrás verlos usando terminal y usando ls -lha .

    
respondido por el BinaryMisfit 22.08.2013 - 13:05
0

Si tienes Ruby instalado, revisa este script de Ruby enlace

El script proporciona funcionalidades como la persistencia y la fuente automática de archivos de puntos. Puede administrar los alias a través de la terminal sin interrumpir su flujo de trabajo y abrir un editor de texto.

descargo de responsabilidad: escribí este script y lo uso todos los días. Déjame saber si hay algún error / idea. :)

    
respondido por el ytbryan 22.01.2015 - 05:29
0

Para aquellos de ustedes que buscan el comando ll como en Linux BASH, se crea así ...

alias ll="ls -laF"

Agregue esa línea a su archivo .bashrc , luego duplique el archivo .bashrc como .bash_profile , y tendrá siempre y para siempre.

Para lo que vale, ll en Linux BASH es solo un alias de " ls -laF ".

    
respondido por el Phillip H. Blanton 29.10.2018 - 23:29
-2

Tuve el mismo problema, que no tenía .bash o .profile en mi ubicación de Perfiles. finalmente lo encontré en / etc

    
respondido por el Leo Boulanger 22.05.2018 - 12:04

Lea otras preguntas en las etiquetas