Действительно ли возможно указать другой zshrc файл на входе в систему по ssh?

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

Их способ указать альтернативу .zshrc файл для использования после входа в систему, например:

ssh user@someserver zsh --rcfile .zshrc.mine

Я рассмотрел страницы справочника и погуглил и до сих пор не предложил решение.

Любая справка ценилась бы :-)

3
задан 27 July 2015 в 20:57

2 ответа

Для изменения где zsh ищет его пользователя configuratation файлы (.zshenv, .zprofile, .zshrc, .zlogin), необходимо установить ZDOTDIR переменная среды к пути, где они находятся. ZDOTDIR может содержать полный или относительный путь, где относительные пути относительно текущего рабочего каталога при запуске zsh. Если ZDOTDIR не установлен, zsh заглядывает $HOME.

Так, если Вы помещаете свое персональное .zshrc в каталог $HOME/.my_zsh, необходимо смочь использовать его на удаленном сервере путем соединения со следующей командой:

ssh -t user@someserver ZDOTDIR=.my_zsh zsh

Параметр -t силы pseudo-tty выделение, который ssh обычно делает, только если никакая команда не передается (т.е. если удаленная оболочка открыта). В этом случае команда ZDOTDIR=.my_zsh zsh передается, который устанавливает ZDOTDIR (ограниченный по объему только к текущей команде) и выполнения zsh.

3
ответ дан 1 December 2019 в 16:27

Ваша .ssh сессия имеет 3 определенные переменные среды:

  SSH_CLIENT=127.0.0.1 42421 22  
  SSH_CONNECTION=127.0.0.1 42421 127.0.0.1 22  
  SSH_TTY=/dev/pts/3  

Ваши значения после "=" могут отличаться.

Вы могли иметь Ваш .zshrc проверка файла на них и сделать somerthing отличающийся.

0
ответ дан 1 December 2019 в 16:27

Другие вопросы по тегам:

Похожие вопросы: