Child bash идентичен вызывающему родителю
Можно ли вызвать bash, чтобы в новой оболочке присутствовало все, что касается моего окружения (псевдонимы, функции, экспортированные / неэкспортированные переменные и т. Д.)?
Я бы согласился на получение переменных оболочки, которые не являются частью моего окружения. я бегу bash --norc
и первое, что я заметил, я потерял $PS1 и мой ls
цвета. Я мог бы просто экспортировать эти переменные перед вызовом bash
, но я беспокоюсь о множестве других вещей, которые я мог бы пропустить.
2 ответа
Вы можете посмотреть в alias
а также set
команда. Если запустить без параметров, alias
перечислит все определенные параметры и set
перечислит все переменные и функции. Перенос вывода этих команд во временный файл и последующее указание bash прочитать этот файл как файл rc может выполнить то, что вы ищете.
Нет.
Однако вы можете включить автоматический экспорт функций и переменных, добавив set -a
в верхней части вашего rc
скрипт.