У меня есть несколько удаленных серверов, с которыми я соединяюсь через терминал. Серверы не имеют домена, только IP-адрес, который труден помнить, когда я получил несколько из них.
Существует ли способ постоянно сохранить значения в терминале, так, чтобы я мог сделать следующее?
server1 = 111.222.111.222
И введите команды как:
ssh root@server1
вместо:
ssh root@111.222.111.222
Для соединений SSH можно создать пользовательский конфигурационный файл ~/.ssh/config
и поместить отображения туда, например,
Host server1
Hostname 111.222.111.222
можно легко добавить другие поля такой как Port
(для нестандартных портов) и User
(полезный, если имя пользователя в удаленной системе отличается от этого в локальной системе). См. man ssh_config
для полного изложения.
Конечно, для Вашего конкретного вопроса Вы хотите следовать за @chaos и @steeldriver советами, но в общем случае, чтобы к "постоянно значениям хранилища в терминале", Вы надеетесь окружать переменные. То, как установить их, будет зависеть от Вашей оболочки (я предполагаю echo $SHELL
, предоставит релевантную информацию).
, Если "постоянно" Вами означают, "пока я не выхожу из этого терминального сеанса", затем можно просто использовать эти export server1=111.222.111.222
команда, если Вы используете bash
- базирующаяся оболочка (setenv server1 111.222.111.222
для csh/tcsh
- базирующаяся оболочка, если я помню правильно). Затем можно получить доступ переменной путем добавления префикса его $
В: ssh root@$server1
.
, Если "постоянно" Вами означают "каждый раз, я запускаю новый терминал", затем необходимо будет установить переменную в одной из оболочки init файлы. Например, в $HOME/.bashrc
для bash
- базирующиеся оболочки, или $HOME/.cshrc
—, по-видимому, использование того же синтаксиса, как упомянуто в предыдущем абзаце. Обратите внимание, что необходимо будет получить init файл (например, source $HOME/.bashrc
или открыть новую оболочку для изменений, которые будут приняты во внимание.
NBВ: Ответьте из памяти, может потребовать некоторых маленьких корректировок.
Не прямой ответ на вопрос (хаос и steeldriver уже обеспечили то, что я думаю, был бы лучшими литеральными решениями), но если Вам только нужно к ssh одному пользователю в одном адресе в большинстве случаев, затем смотря на редактирование .bash_aliases
, файл в Вашем корневом каталоге должен быть полезным, поскольку можно создать псевдоним для всей терминальной команды.
Да, просто запишите их в файле /etc/hosts
. Это имеет следующий синтаксис:
1.2.3.4 servername additional_servername
, Где:
1.2.3.4
IP-адрес servername
, имя additional_servername
, дополнительное имя После сохранения, можно достигнуть сервера его именем.
Определенные ответы очень хороши.
В целом, тем не менее, если Вы хотите иметь некоторые вещи, определил/установил в оболочке, просто запишите сценарий, чтобы сделать это и затем выполнить ее с source
или .
, когда Вы хотите ту установку в действительности.
, Если это - что-то, которое Вы хотите все время, можно получить его в .profile (для оболочек входа в систему) или в .bashrc для всех оболочек (при использовании удара).
С подходом как это, у Вас может быть несколько сценариев для установки различных рабочих сред по мере необходимости, пока Вы удостоверяетесь, что они не ступают друг на друга, если Вы вызываете одного из них после вызова другого сначала.