У меня есть массив, это создается в сценарии Bash. Требуется немного работы для получения информации, которую я хочу там, и это - массив, который был бы очень полезен в других сценариях. Я не хочу копировать код через все другие сценарии. Другие сценарии не запускаются как дети этого сценария, таким образом, export
не будет никакая справка здесь.
Единственный разумный путь состоит в том, чтобы заставить доступ к этому массиву получать сценарий, который создает его? Есть ли другой способ сделать это?
Да, что касается Вашего сценария source
- луг является единственным способом получить тот массив из сценария в другую несвязанную сессию оболочки. Это - также единственный способ получить параметр из сценария на текущей сессии оболочки, поскольку выполнение сценария породит подоболочку.
Как обходное решение для того, чтобы не получать на лету, можно сохранить массив в каждой интерактивной среде сессии оболочки путем помещения его в ~/.bashrc
, это, очевидно, означает, что Вам нужно к source
что сценарий в запуске. Так, в целом, если Вы хотите массив, Ваша единственная опция source
- луг рано или поздно.