У меня есть портативный терминал с оболочкой bash на USB-накопителе, и я хочу загружать разные переменные среды каждый раз, когда я меняю компьютер, на разных машинах пользователи разные. Как настроить файл .bashrc для этого?

1 ответ1

1

Я не уверен, что полностью понимаю, что вы хотите сделать.

Я подозреваю, что в основном вы захотите сохранить несколько файлов окружения, которые вы можете получить, когда и где это необходимо.

Предполагая, что вы хотите, чтобы ваша среда была настроена на удаленной машине, в которую вы входите по ssh, тогда ваш .bashrc может содержать что-то вроде

source ~/path/to/file.env

или же

. ~/path/to/file.env

Имейте в виду, что .bashrc, возможно, не тот файл, который вам нужно отредактировать. Из моей системы bashrc:

# There are 3 different types of shells in bash: the login shell, normal shell
# and interactive shell. Login shells read ~/.profile and interactive shells
# read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all
# settings made here will also take effect in a login shell.

Если вы переключаете пользователей локально, этот подход также будет работать.

Если вы хотели изменить свое собственное окружение (не знаю почему, но не здесь, чтобы судить), то, вероятно, проще всего просто вручную набрать любой env-файл, который вам нужен, и когда вам это нужно.

Это звучит так, как будто вы работаете в Windows, но в этом случае вам может понадобиться убедиться, что ваша локальная оболочка работает аналогично bash и позволяет создавать источники.

Также имейте в виду, что вы можете использовать команду env для запуска вещей, как в:

env -i bash -c 'source .foo.env && do_something.sh'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .