Как получить доступ к массиву Bash из отдельного, недочернего сценария Bash?

У меня есть массив, это создается в сценарии Bash. Требуется немного работы для получения информации, которую я хочу там, и это - массив, который был бы очень полезен в других сценариях. Я не хочу копировать код через все другие сценарии. Другие сценарии не запускаются как дети этого сценария, таким образом, export не будет никакая справка здесь.

Единственный разумный путь состоит в том, чтобы заставить доступ к этому массиву получать сценарий, который создает его? Есть ли другой способ сделать это?

4
задан 9 August 2016 в 16:58

1 ответ

Да, что касается Вашего сценария source - луг является единственным способом получить тот массив из сценария в другую несвязанную сессию оболочки. Это - также единственный способ получить параметр из сценария на текущей сессии оболочки, поскольку выполнение сценария породит подоболочку.

Как обходное решение для того, чтобы не получать на лету, можно сохранить массив в каждой интерактивной среде сессии оболочки путем помещения его в ~/.bashrc, это, очевидно, означает, что Вам нужно к source что сценарий в запуске. Так, в целом, если Вы хотите массив, Ваша единственная опция source - луг рано или поздно.

4
ответ дан 1 December 2019 в 09:46

Другие вопросы по тегам:

Похожие вопросы: