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


10

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

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

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

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

./myscript  
log

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

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

source myscript  
log

Все отлично.

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


Вы положили alias в вашем ~/.cshrc файл?
qweet

@ qweet - Это не моя цель - я хотел что-то динамичное.
RonK

Ответы:


13

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

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


1
Спасибо - вот что я подумал - я добавлю псевдоним к своему .alias, который будет source myscript - Я хотел чего-то простого, что может быть доступно всем членам команды - псевдоним сделает это.
RonK
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.