Возможно ли выполнить результат wget как команды?

У меня 10 машин VPS, и все они должны запускать этот сценарий, который мне нужно часто менять, но я не хочу менять его на 10 мест, каждый раз, когда мне нужно внести изменения.

Я поместил скрипт как обычный текстовый файл на удаленный HTTP-сервер. Если бы я мог wget этот файл и запустить содержимое, это было бы здорово.

Но я не уверен, как это сделать, или если есть альтернативные способы достижения моей цели?

Пока вы понимаете опасности, вы можете вывести вывод в оболочку:

 wget -O - http://foo.com/somescript | sh 

Вы можете сделать это в режиме push или pull.

Если вы хотите сделать это, вы можете использовать wget или curl . От каждого хозяина:

 wget -O- http://foo.com/somescript | bash 

или

 bash <(wget -O- http://foo.com/somescript) 

Однако, возможно, было бы легче сделать это путём. От центрального хозяина:

 for host in host1 host2 host3; do cat script.sh | ssh "$host" bash done 

Другой вариант – использовать puppet или chef . Но в зависимости от того, что вы делаете, это может быть немного излишним.