Quería ser inteligente y comparar un file remoto a un file local sin primero downloadlo manualmente. Puedo get el contenido del file remoto
ssh user@remote-host "cat path/file.name"
Sin embargo, piping que para diff
ssh user@remote-host "cat path/file.name" | diff path/file.name
me da esto:
diff: missing operand after `path/file.nae' diff: Try `diff --help' for more information.
Tengo configuradas las teclas ssh, por lo que no me pide una contraseña. ¿Qué es una solución para esto?
Intente usar -
para representar la input estándar.
ssh user@remote-host "cat path/file.name" | diff path/file.name -
Aquí hay una solución: diff
parece aceptar <( expr ) como arguments:
diff <(ssh \"cat path/file.name/") <(cat path/file.name)
Tubería en diff es equivalente a correr
diff path/file.name
y luego, una vez que se está ejecutando, escribir todo el contenido del file.
Como puede ver, eso no es lo que esperaba.
diff /tmp/localtempfile <(ssh -A -o StrictHostKeyChecking=no root@server "cat /tmp/remotetempfile")