Я пытаюсь создать свой ~/.ssh/config
файл для упрощения моей работы на сервере.
В Mavericks все работало правильно, и с помощью tabя был в состоянии автоматически заполнить имя хоста с файлом, как это:
Host test-host-name
HostName 192.168.1.2
User root
Та же конфигурация на Yosemite имеет другое поведение. Когда я печатаю ssh t
на оболочке, tabимя хоста не заполняется автоматически.
Кто-то знает, если что-то изменилось в Йосемити, и теперь мне нужно что-то сделать, чтобы это работало?
yosemite
bash
ssh
configuration
RikyTres
источник
источник
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
. Не могли бы вы уточнить, какая версия (та или ваша) предпочтительнее и почему?Я предполагаю, что оболочка вашего Mac - bash.
Вам необходимо выполнить команду SSH, более подробно вы можете прочитать
man complete
Не забудьте, что вам нужен
source
файл для загрузки новой команды в ваш терминал. или Вы можете поместить этот код в .bash_profileисточник
comp_ssh_hosts=$(awk -F , 'FNR== NR && ! /^#|\[/ {field = $1} FNR != NR && /^Host / {field = $2} {hosts[field]} END {for (host in hosts) {print host}' "$HOME/.ssh/known hosts" "$HOME/.ssh/config")
Из этой статьи на MacWorld .
Скопируйте / вставьте следующее в
~/.bash_profile
:Затем вам нужно будет либо перезапустить свой терминал, либо набрать
source ~/.bash_profile
(обратите внимание, что последний будет работать только на вашей текущей вкладке).источник
К вашему сведению, я не уверен, как ответить непосредственно на ответ Нельсона, так как я еще не набрал достаточно репутации, чтобы комментировать его, но на моей машине с El Capitan
^M
добавлялся ко всем именам хостов из моего файла конфигурации , Мне пришлось либо добавить\r
в мою$IFS
переменную, либо удалить / заменить все экземпляры\r
из выходных данных второгоcat
. В конце я сделал последнее, добавив,tr '\r' '\n'
чтобы цепочка команд выглядела так:источник
Вы можете добавить записи в / etc / hosts и использовать их в автозаполнении имени хоста:
Перезагрузка требуется для системы, чтобы перезагрузить этот файл.
источник