У меня есть взаимозависимая коллекция скриптов в моем каталоге ~/bin, а также разработанный каталог ~/.vim и некоторые другие библиотеки и тому подобное в других подкаталогах. Я управлял всем этим с помощью git и понял, что было бы потенциально очень легко и полезно выполнять разработку и тестирование новых и существующих сценариев, плагинов vim и т.д. С использованием клонированного репозитория, а затем извлекать рабочий код в мой фактический домашний каталог с слиянием.

Казалось бы, самый простой способ сделать это - просто изменить и экспортировать $ HOME, например

cd ~/testing;  git clone ~ home
export HOME=~/testing/home
cd ~
screen -S testing-home
# start vim, write/revise plugins, edit scripts, etc.
# test revisions

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

1 ответ1

1

Проблема в том, что некоторые приложения могут игнорировать $HOME и вместо этого запрашивать userdb напрямую через getpwent(3) . Самое безопасное, что можно сделать, это создать совершенно нового пользователя и использовать su или sudo чтобы стать им, или войти в систему как другой с другого терминала /VT.

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