-- Descargar [TIP] Bash: Cómo concatenar comandos como PDF --
Puede pasar que queramos concatenar una serie de comandos en un servidor linux remoto, via ssh; Bash nos permite eso y mucho más, incluso automatizarlos y programarlos para que corra a diario, por dar un ejemplo.
CONCATENANDO COMANDOS EN BASH
Bueno, hay varias maneras de hacerlo. Tal vez la más sencilla sea concatenar los comandos a continuación del comando ssh.
Ejemplo:
ssh [email protected] «date && uptime»
Donde los comandos irán entre comillas «. Vemos además que para concatenarlos, usamos &&. En caso de que alguno de los comandos deba correr como root, pueden agregarle sudo de la manera habitual.
EL COMANDO HERE:
Con HERE se puede definir el origen desde donde obtener el resultado de una serie de comandos.
Ejemplo:
ssh servidorx.xom <<HERE
> uptime
> date
> ls -ahl /etc/apache2/sites-available/
> …
> HERE
Como pueden ver, HERE apunta al servidor remoto desde el cual queremos obtener el resultado de dichos comandos. Bash seguirá aceptando comandos hasta que lea la palabra HERE y entonces procederá a ejecutarlos y devolvernos los resultados.
ENVIANDO UN SCRIPT A TRAVÉS DE SSH:
Una tercera forma consiste en enviar un script que contenga los comandos que queremos ejecutar y luego utilizar pipe (|) para dirigirlo al servidor remoto via ssh.
Ejemplo:
cat scriptremoto1.sh | ssh [email protected]
Nota: Hoy he mencionado HERE. Es algo que aún no he usado mucho, pero acá tienen más info en inglés, si quieren profundizar un poco: http://tldp.org/LDP/abs/html/here-docs.html