запустить какой-либо скрипт оболочки из Fish и импортировать все экспортированные переменные env?

1

Можно ли каким-то образом импортировать все переменные окружения, которые экспортируются подпроцессом, запущенным Fish?

Например, я начинаю с моего сеанса Fish bash ~/.profile, который экспортирует некоторые переменные, и я хочу импортировать их в сеанс Fish.

(Это также будет одним из решений моего другого вопроса ; однако, это будет гораздо более общим. Например, это также будет решением этого вопроса .)

Альберт
источник

Ответы:

1

В Linux есть /proc/<pid>/environфайл, который содержит переменные окружения с нулевым разделением, которые вы можете прочитать и импортировать в ваш fishсеанс.

Анкур
источник
0

Для дочернего процесса нет встроенного стандартного способа Unix для изменения переменных среды родительского процесса, но вы можете сами его написать. Вы можете сделать так, чтобы дочерний процесс выгрузил свою среду (которая на самом деле представляет собой просто набор строк в формате «имя = значение»), и отправил его тем или иным образом родителю, а родительский список прошел по списку и экспортировал для Сам по себе любые переменные, которые являются новыми или разными (за исключением таких вещей, как $SHELLи, $PPIDконечно,).

Spiff
источник