LINUX.ORG.RU

Вопрос про скрипты shell


0

0

Вопрос, собственно, следующий: я тут попытался создать alias из скипта. И нифига. Из командной строки все работает, но скрипт, хоть и проглатывается shell'ом без ошибок, alias не создает. Что делать?

anonymous

Re:

Ответ на вопрос: читать маны. Какой шел? Какой код?

LegaT
()

>читать маны.

Не только. В данном случае (ИМХО) даже не столько маны.

Я бы сказал: читать доки по процессам в Unix. Родительские, дочерние, кто, что и от кого наследует, какие значения теряются при завершении процесса...

Ikonta_521
()

>>читать маны.
>даже не столько маны.

Все-таки маны. alias расширяются только в интерактивном режиме. А в скрипте лучше этого не пользовать. Используй
alias_name() {...}; alias_name
или
alias_name="" ; $alias_name

DonkeyHot ★★★★★
()

Есть маленькое предположение: Для запуска скрипта запускается копия шелла, в ней Вы создаете alias. Скрипт завершается, запущенная копия шелла тоже. Основной шелл об этом alias-е ни сном не духом... Мысль несколько сумбурна, но, надеюсь, понятна. Бороться с этим можно, запуская скрипт при помощи . /path/to/script. Насчет других путей не знаю, буду очень благода, если кто просветит :)))

Dimai
()

Сам разобрался. :) Последний из отвечавших в общем, прав, хотя и изнутри скрипта этот alias не распознается. Но скрипт действительно нужно запускать в текущей копии shell'а, через '.' ('. ./script_name').

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.