2015-05-15 7 views
0

У меня есть 2 бродячих машинах в папке, и мне постоянно приходится делать ssh в обоих и запускать ту же команду. В основном я делаю:Псевдоним для SSH и запуск команды в Vagrant VM

$ vagrant ssh machine1 
[[email protected] ~]$ sudo rm -rf /tmp/cache/* 
[[email protected] ~]$ exit 

$ vagrant ssh machine2 
[[email protected] ~]$ sudo rm -rf /tmp/cache/* 
[[email protected] ~]$ exit 

Я хотел бы создать псевдоним или небольшой скрипт, я могу работать, и он будет делать эти вещи, так что мне не нужно вводить все это снова и снова ...
Любые идеи?

ответ

2

Чтобы сделать это, вы можете добавить псевдоним:

alias vssh="vagrant ssh machine1 -c 'sudo rm -rf /tmp/cache/*'; vagrant ssh machine2 -c 'sudo rm -rf /tmp/cache/*'" 

Добавить это в свой профиль (т.е. ~/.bash_profile или аналогичный файл), а затем перезагрузить его командой:

. ~/.bash_profile 
+0

Спасибо, друг, работает как шарм! – MikO

1

Если вы хотите быть очень мило об этом, вы можете сделать это:

alias vagrantsshall="function _() { for box in \`vagrant status --machine-readable | sed -nE 's/[0-9]+,([^,]+),state,running/\1/p'\`; do echo $box: && vagrant ssh $box -c \$1; done;}; _" 

это будет работать для любой установки Vagrant от 1 до п коробок, запуская команду против всех ящиков, которые в настоящее время находятся вверх.

Смежные вопросы