Usando “&” y “|” en el script SSHPass

3

Estoy creando una secuencia de comandos para mis padres en sus Mac para que puedan SSH en mi computadora Linux y enviar comandos, crear ventanas emergentes, etc.

Este es uno de mis comandos:

sshpass -p Password ssh [email protected] export DISPLAY=:0 & mate-session-save --force-logout

Mi problema es que la Mac trata la "&" como no está en el script sshpass, y ejecuta el argumento después de usar el terminal Mac, no SSH.

Entonces

sshpass -p Password ssh [email protected] export DISPLAY=:0 & mate-session-save --force-logout

se ejecutaría

export DISPLAY=:0

en la sesión SSH, pero

mate-session-save --force-logout

se ejecutaría en el terminal de Mac.

Si alguien pudiera ayudarme con esto, sería muy apreciado.

    
pregunta MaliciouZzHD 03.02.2017 - 06:45

1 respuesta

2

SSH acepta un solo argumento como un comando, no varios, por lo que la línea de comandos debe tener este aspecto (tenga en cuenta las comillas):

sshpass -p Password ssh [email protected] "export DISPLAY=:0 & mate-session-save --force-logout"

Pero la idea general podría no funcionar, porque no permitiste el reenvío X11 (agrega -Y cambia al ssh ).

    
respondido por el Jakuje 03.02.2017 - 08:37

Lea otras preguntas en las etiquetas