¿Cómo puedo obtener el archivo bashrc cada vez que 'borro'

13

Esta podría ser una mala idea. Cuanto más lo pienso, más me doy cuenta de que probablemente no debería hacerlo ... pero he estado intentando y fallando, así que REALMENTE quiero saber cómo hacerlo, incluso si es una mala idea.

Lo que quiero es que el archivo bashrc se obtenga cada vez que ejecuto el clearcomando. La razón de esto es completamente materialista. Tengo eco de la información del sistema cuando obtengo bashrc y es genial para mí y me gustaría que esté en la parte superior cada vez que borre.
He intentado configurar algunos alias clearpero sigo corriendo en bucles infinitos. La solución obvia es cambiar los alias a otra cosa además de clear para poder ejecutar el comando clear en el alias sin interferir, pero escribo clear con tanta frecuencia que en este momento está algo arraigado en mi cerebro. Me gustaría poder escribir clear y dejarlo claro Y obtener el archivo bashrc.

CaldwellYSR
fuente
2
Asegúrese de que su script .bashrc no tenga efectos acumulativos. Si hace algo como agregar cosas a tus caminos, puede ser complicado. En general, .bashrc es para inicializar su entorno de shell. si hace otras cosas, entonces sería mejor dividirlas en un nuevo script y llamar a eso junto con clear. Además, si alguien más usa su sistema o lo ayuda, puede encontrar un comportamiento inesperado porque ha reutilizado un comando común.
Joe
@ Joe Es un buen punto sobre otras personas que usan mi sistema. Ustedes han mencionado muchas cosas en las que no había pensado.
CaldwellYSR

Respuestas:

27

alias clear='source ~/.bashrc; \clear'

El \le dice a bash que desea invocar el comando externo, no el alias.

Daniel Pittman
fuente
Ah genial, ¡sabía que sería algo así de simple!
CaldwellYSR
13
Probablemente desee hacer esto en el otro orden, o el borrado borrará cualquier salida que haya .bashrcgenerado. Pero también es una mala idea tener .bashrcgenerar resultados .
cjm
@cjm Sí, me di cuenta esta mañana sobre el pedido. Ya lo tenía en el orden correcto, simplemente no tenía el ` in front of claro. Veré esa información sobre el bashrc y la salida. Gracias por el enlace.
CaldwellYSR
una alternativa a \clearescommand clear
glenn jackman
@CaldwellYSR, la versión corta es esa ssh host commandfuente .bashrc. Si eso genera resultados, confundirá cualquier script que intente ejecutar comandos remotos en su host y cuenta. Es posible que no esté haciendo eso ahora, pero algún día sí, y luego se sentirá confundido por qué no funciona.
cjm
2

Escriba un script que imprima la información del sistema que desea. Invoque desde .bashrcy desde su clearalias.

Keith Thompson
fuente
1

En su .bashrcconjunto, un alias para clearesas fuentes .bashrcdespués:

alias clear='clear && . ~/.bashrc'

fuente
1

Según el comentario de Joe ... si tienes "efectos acumulativos" (no es seguro volver a ejecutar tu perfil varias veces), ¡aquí hay un truco para evitarlo!

alias clear='\clear; exec bash -l'

Esto realmente inicia un nuevo intérprete cada vez que despeja, lo que garantiza que es realmente un nuevo comienzo en todos los sentidos. Sin embargo, el ejecutivo significa que no tienes toneladas de procesos por ahí más tarde.

Domingo Ignacio Galdos
fuente