Когда я обновляю свой конфигурационный файл ssh, чтобы я мог переключить свою текущую учетную запись на github, изменения не будут работать должным образом, пока я не перезапущу iTerm. Я работаю над сценарием для автоматизации переключения учетной записи на github, и мне бы хотелось, чтобы скрипт перезагрузил настройки конфигурации в обновленном файле конфигурации. Как мне этого добиться?
2 ответа
Пока я искал способ «обновить» файл, я понял, что на самом деле я искал способ автоматического завершения команды,
Обновление не было необходимости, как упоминает @Jakuje выше
Для тех, кто заинтересован, скрипт автозаполнения:
complete -o default -o nospace -W "$(grep "^Host" $HOME/.ssh/config | cut -d" " -f2)" scp sftp ssh
Который я нашел здесь.
Добавьте приведенный выше скрипт в .bash_profile
и затем запустите source .bash_profile
Возможно, вы захотите взглянуть на документацию Atlassian по использованию нескольких идентификаторов. Случай, который, как я думаю, вы описываете, - переключение учетных записей - лучше всего обрабатывать с помощью конфигурационного файла SSH, который одновременно поддерживает несколько учетных записей вместо сценариев.
Они предоставляют следующий пример для файла config
в ~/.ssh/config:
# Default GitHub user
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/personalid
# Work user account
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/workid