Использовать вывод эха в качестве ввода в стандартный скрипт - PullRequest
4 голосов
/ 06 февраля 2012

Существует скрипт "X", который в зависимости от ввода экспортирует некоторые переменные окружения.

Чтобы запустить «X» в другом скрипте «Y», я делаю следующее:

echo "some input" > temp_file
source X < temp_file

Есть ли альтернативный способ сделать это, не используя временные файлы?

Как я понимаю, в случае каналов создается подпроцесс, и с помощью следующей строки

echo "some input" | source X

переменные среды не могут быть установлены или изменены в текущем скрипте.

1 Ответ

5 голосов
/ 06 февраля 2012

Использовать процесс замены :

source X < <(echo "some input")

Это в основном позволяет перенаправить ввод / вывод процесса другому процессу, как если бы это был файл.

...