Administro muchos sitios de drupal e intento automatizar algunas cosas usando drush. Drush ejecuta localmente llama a drush en el host remoto a través de ssh usando las opciones especificadas en la configuración para el alias del sitio. Estoy haciendo muchas de estas llamadas, así que para acelerarlo uso conexiones ssh persistentes con ssh config de esta manera:
Host *
# see http://www.revsys.com/writings/quicktips/ssh-faster-connections.html
ControlMaster auto
ControlPath ~/tmp/%r@%h:%p
ControlPersist 3600
Me acelera, pero también recibo mensajes como este:
$ drush @alias drupal-directory webform
/var/local/www/example.com/htdocs/sites/all/modules/contrib/webform
Shared connection to 12.34.56.78 closed.
El mensaje sobre la conexión compartida está en stdout, junto con la salida que quiero (en serio, ¿por qué no stderr?), Por lo que está causando problemas cuando intento capturar la salida en mis scripts:
directory=$(drush @$alias drupal-directory $module)
Sin embargo, espero que la conexión maestra sea una que ya tenía abierta, y no parece que esté cerrada. Entonces, ¿quizás drush está haciendo explícitamente esta nueva conexión y la está cerrando? En cualquier caso, ¿hay alguna forma de suprimir el mensaje sobre el cierre de la conexión?
[Este problema está en un contexto drupal / drush, pero creo que se trata fundamentalmente de ssh. ¿Es este el sitio correcto entonces?]
EDITAR:
Parece que el problema es específico de dónde -t
está en uso la opción de ssh. Estoy usando esto porque las contraseñas svn deben ingresarse en varios puntos y -t
, sin ellas , las solicitudes de contraseña no se muestran. ¿Quizás haya otra forma de evitar que esas indicaciones se pierdan?
directory=$(drush @$alias drupal-directory $module | grep -v "Shared connection to")
sería suficiente un truco feo ?