Posso "exportar" um alias para o SHELL que invocou um script?

14

Estou tentando escrever um script utilitário que define certos aliases.
Meu 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 executá-lo assim:

source myscript  
log

Tudo está bem.

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

RonK
fonte
Você colocou o aliasem seu ~/.cshrcarquivo?
Qd
@qweet - Esse não é o meu objetivo - eu queria algo dinâmico.
11134 RonK

Respostas:

18

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, como indicado, é usar sourcepara que o shell atual processe seu arquivo de script (sem iniciar um novo processo).

Matteo
fonte
2
Obrigado - foi o que pensei - vou adicionar um alias ao meu .alias que será necessário source myscript- eu queria algo fácil que pudesse ser compartilhado por todos os membros da equipe - um alias o faria.
11134 RonK