¿Puedo "exportar" un alias a SHELL que invocó un script?

14

Estoy tratando de escribir un script de utilidad que defina ciertos alias.
Mi SHELL es tcsh(no puede cambiar eso).

Probé lo siguiente

#!/bin/tcsh  
alias log 'less ~/logs/log.`date '+%Y%m%d'`''

Luego lo ejecuto así:

./myscript  
log

El resultado que obtengo es: log: Command not found.

Naturalmente si lo ejecuto así:

source myscript  
log

Todo esta bien.

¿Alguna forma de hacerlo sin especificar source ...?

RonK
fuente
¿Pusiste el aliasen tu ~/.cshrcarchivo?
qweet
@qweet: ese no es mi objetivo: quería algo dinámico.
RonK

Respuestas:

18

No puedes Al ejecutar su script, ejecuta un nuevo shell. Los alias no serán vistos por el proceso padre.

La única forma que se señala es usar sourcepara que el shell actual procese su archivo de script (sin iniciar un nuevo proceso).

Matteo
fuente
2
Gracias, eso es lo que pensé. Agregaré un alias a mi .alias que lo hará source myscript. Quería algo fácil que todos los miembros del equipo puedan compartir. Un alias lo hará.
RonK