Me ha sido muy útil ejecutar scripts remotos sin instalarlos localmente. Esto me permite, por ejemplo, hacer la instalación inicial del cliente Puppet o poner Ansible para completar la configuración del sistema hasta llevarlo a estado de producción.
Para descargar el script se puede usar tanto el comando curl como wget. Uno u otro suelen venir instalados por defecto en cualquier distribución Linux.
La idea es simple: correr el comando (wget o curl) y obtener la salida (script) limpia (es decir, sin datos extra de transferencia o ejecución) y pasarlo como entrada a bash para su interpretación y ejecución local.
He armado un simple script, cuyo código puede ser visto aqui: script-remoto.txt (la terminación txt es solamente para que lo muestre el navegador, pero no necesita ninguna extensión en particular), que puede ser ejecutado con cualquiera de estos comandos:
con curl:
source <(curl -s http://pilas.guru/wp-content/uploads/script-remoto.txt) bash <(curl -s http://pilas.guru/wp-content/uploads/script-remoto.txt) curl -s http://pil.as/1h1n | source /dev/stdin curl -sL http://pilas.guru/wp-content/uploads/script-remoto.txt | bash -s
con wget:
source <(wget -qO- http://pilas.guru/wp-content/uploads/script-remoto.txt) bash <(wget -qO- http://pilas.guru/wp-content/uploads/script-remoto.txt) wget -qO- http://pil.as/1h1n | source /dev/stdin wget -qO- http://pilas.guru/wp-content/uploads/script-remoto.txt | bash -s
Pueden ver que he creado un enlace corto que redirecciona al mismo archivo http://pil.as/1h1n, pero ATENCION, no se debe confiar en los enlaces cortos livianamente y MENOS con la intención de ejecutar comandos ajenos en el equipo propio.
Pingback: Bitacoras.com