Могу ли я «экспортировать» псевдоним в SHELL, который вызвал скрипт?

10

Я пытаюсь написать служебный скрипт, который определяет определенные псевдонимы.
Моя оболочка tcsh (не могу изменить это).

Я попробовал следующее

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

Затем я запускаю это так:

./myscript  
log

Я получаю вывод: log: Command not found.

Естественно, если я запускаю это так:

source myscript  
log

Все отлично.

Любой способ сделать это без указания source ...?

RonK
источник
Вы положили alias в вашем ~/.cshrc файл?
qweet
@ qweet - Это не моя цель - я хотел что-то динамичное.
RonK

Ответы:

13

Ты не можешь Запустив свой скрипт, вы запустите новую оболочку. Псевдонимы не будут видны родительским процессом.

Единственный способ, как указано source так что текущая оболочка обрабатывает ваш файл скрипта (без запуска нового процесса).

Matteo
источник
1
Спасибо - вот что я подумал - я добавлю псевдоним к своему .alias, который будет source myscript - Я хотел чего-то простого, что может быть доступно всем членам команды - псевдоним сделает это.
RonK