Bash sustitución de comando en host remoto [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Cómo cat << EOF >> un archivo que contiene código? 3 respuestasEstoy tratando de ejecutar un script bash que ssh está en un host remoto y detiene el único contenedor acoplable que se está ejecutando.
#!/usr/bin/env bash
set -e
ssh <machine> <<EOF
container=$(docker ps | awk 'NR==2' | awk '{print $1;}')
docker stop $container
EOF
Sin embargo, me sale el siguiente error:
stop.sh: line 4: docker: command not found
Cuando hago esto manualmente (ssh a la máquina, ejecuto los comandos) todo está bien, pero cuando trato de hacerlo por medio de un script obtengo el error. Supongo que mi sintaxis de sustitución de comandos es incorrecta y he buscado e intentado todo tipo de comillas, etc. pero fue en vano.
¿Alguien puede señalarme a dónde voy mal?