Если это всегда - та же конфигурация программ, можно использовать инструмент как teamocil.
Необходимо будет создать с конфигурацией (например. ~/.teamocil/sample
), который содержит что-то как:
windows:
- name: my-first-window
root: ~/Projects/foo-www
filters:
before: "rvm use 1.9.2"
after: "echo 'I am done initializing this split.'"
splits:
- cmd: "git status"
- cmd: "bundle exec rails server --port 4000"
width: 50
- cmd:
- sudo service memcached start
- sudo service mongodb start
height: 50
И затем можно работать: tmux new-session -d "teamocil sample" \; attach
Если я понимаю, что Вы просто хотите IP-адрес, возвращенный, т.е., 192.168.1.1, то это - одно (невероятно хрупкий) способ запросить файл из командной строки, если у Вас есть соответствующие полномочия считать его и Ваш .ssh/config
последовательно форматируется:
awk '/Host $youralias/ {getline; print $2}' .ssh/config
Я только отправляю это, поскольку я хотел бы понять, как использовать awk
чтобы сделать это, но мое знание, очевидно, вполне ограничено.
Не полностью уверенный, что Вы спрашиваете...
Скажите, что у Вас есть псевдоним SSH для 'mainserver', таким образом, можно сделать ssh mainserver
. Если Вы хотите, чтобы это также работало на ping mainserver
, необходимо вставить псевдоним /etc/hosts
, как так:
/etc/hosts:
192.168.0.1 comp-one
192.168.0.2 comp-two
192.168.0.20 mainserver
Затем Вы могли сделать ping mainserver
и это проверило бы с помощью ping-запросов 192.168.0.20.
Файл, который Вы упоминаете, является текстовым файлом, он содержит имена хостов и возможно IP-адреса для идентификации машин, с которыми Вы соединяетесь. Имена хостов могут быть разрешены к IP-адресам с помощью host(1)
команда. Формат довольно прост, таким образом, не слишком трудно узнать то, что там. Обратите внимание, что подстановочные знаки могут использоваться в файле (состояния шахты *.fedoraproject.org
).
Это немного более надежный способ получения HostName
на основе Host
в файле .ssh/config
.
sshalias()
{
awk "\$1==\"Host\" {host=\$2} \$1==\"HostName\" && host==\"$1\" {print \$2}" "$HOME/.ssh/config"
}