¿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 ...?


¿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).


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.