Звон не получает bashrc или bash_profile на подключении

Я пытаюсь использовать звон в качестве ssh альтернативы на окнах, но я нахожу, что, когда звон соединяется с удаленной машиной Linux, он не получает .bash_profile или .bashrc.
Существует ли другой точечный файл, который я должен создать? Или есть ли другая опция?

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

Это не будет работать:

plink host python

Где, поскольку это будет:

plink host "source .bashrc;python"

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

Существует ли обходное решение?

11
задан Charles 4 August 2010 в 15:57
поделиться

1 ответ

Если вы просто подключитесь к удаленному хосту через ssh или plink, то запустится оболочка по умолчанию учетной записи. Если эта оболочка - bash, bash автоматически создаст исходный файл .bash_profile.

Если вы подключаетесь к удаленному узлу через ssh или plink с запросом на выполнение команды, ssh попытается выполнить только эту команду.

То, чего вы хотите добиться, можно сделать с помощью ForcedCommand. Смотрите также здесь:

Установите принудительную команду как скрипт, который делает 2 вещи:

  1. источник .bash_profile
  2. запуск оригинальной команды (env vars $SSH_ORIGINAL_COMMAND или $SSH2_ORIGINAL_COMMAND)
7
ответ дан 3 December 2019 в 07:36
поделиться
Другие вопросы по тегам:

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