Backticks ejecutará el comando en el shell local y colocará los resultados en la línea de comando. Lo que estás diciendo es 'execute ./test/foo.sh y luego pasa el resultado como si lo hubiera escrito en la línea de comando aquí'.
Pruebe el siguiente comando y asegúrese de que esa sea la ruta desde su directorio de inicio en la computadora remota a su secuencia de comandos.
ssh [email protected] './test/foo.sh'
Además, el script debe estar en la computadora remota. Lo que esto hace es, básicamente, iniciar sesión en la computadora remota con el comando enumerado como su caparazón. No se puede ejecutar un script local en una computadora remota como esta (a menos que haya algún truco divertido que no sé).
Este es el truco divertido, tomado de http://wpkg.org/Executing_local_programs_and_scripts_remotely: cat/usr/bin/program | ssh user @ server "cat>/tmp/program; chmod 755/tmp/program;/tmp/program --arguments" –
Sí, pensé que algo así era posible, pero en realidad no está ejecutando un programa local, solo estoy copiando de una manera innecesariamente compleja. Si va a hacer eso, puede hacer scp /path/to/script.sh usuario @ servidor: && ssh usuario @ servidor ./script.sh Supongo que tiene que escribir una contraseña dos veces de esta manera , entonces eh. – psanf
@MarkRushakoff, gracias por eso. ¡Exactamente lo que necesitaba! – Dan