Posso “exportar” um alias para o SHELL que invocou um script?

10

Estou tentando escrever um script de utilitário que define certos aliases.
Minha SHELL é tcsh (não pode mudar isso).

Eu tentei o seguinte

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

Então eu corro assim:

./myscript  
log

A saída que recebo é: log: Command not found.

Naturalmente, se eu executar assim:

source myscript  
log

Tudo está bem.

Qualquer maneira de fazer isso sem especificar source ... ?

    
por RonK 11.07.2012 / 10:19

1 resposta

12

Você não pode. Ao executar seu script, você executa um novo shell. Os aliases não serão vistos pelo processo pai.

A única maneira indicada é usar source para que o shell atual processe seu arquivo de script (sem iniciar um novo processo).

    
por 11.07.2012 / 11:55