Cuando se utiliza una llamada al sistema en un script Ruby, se puede obtener la salida de ese comando como este:¿Puedo obtener un resultado continuo de las llamadas al sistema en Ruby?
output = `ls`
puts output
Eso es lo que estaba a punto this question.
Pero, ¿hay alguna manera de mostrar la salida continua de de una llamada al sistema? Por ejemplo, si ejecuta este comando copia segura, para obtener un archivo de un servidor a través de SSH:
scp [email protected]:remoteFile /some/local/folder/
... que muestra la salida continua con el progreso de la descarga. Pero esto:
output = `scp [email protected]:remoteFile /some/local/folder/`
puts output
... no captura esa salida.
¿Cómo puedo mostrar el progreso continuo de la descarga desde mi script de Ruby?
que tenían dos problemas ortogonales aquí, porque scp sólo produce la salida a los terminales de forma predeterminada, es necesario SCP * * -v – tokland
@tokland - que pone a mensajes de depuración de salida, pero no el progreso de la transferencia que vería si solo ejecuté scp solo. Creo que no deben ir a la salida estándar, y no veo una opción para que scp los envíe allí. –
Aparentemente scp envía esa información de progreso a "terminal interactivo"? No estoy seguro de cómo capturar eso ... –