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


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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.