When issuing grunt shell:test
, I\'m getting warning \"the input device is not a TTY\" & don\'t want to have to use -f
:
$ grunt
Remove the -t
from the docker run command:
docker run $RUN_ENV_FILE -i --rm --user node -v "$PWD":/app -w /app yaktor/node:0.39.0 $@
The -t
tells docker to configure the tty, which won't work if you don't have a tty and try to attach to the container (default when you don't do a -d
).
This solved an annoying issue for me. The script had these lines:
docker exec **-it** $( docker ps | grep mysql | cut -d' ' -f1) mysql --user= ..... > /var/tmp/temp.file
mutt -s "File is here" someone@somewhere.com < /var/tmp/temp.file
The script would run great if run directly and the mail would come with the correct output. However, when run from cron
, (crontab -e
) the mail would come with no content. Tried many things around permissions and shells and paths etc. However no joy!
Finally found this:
*/20 * * * * scriptblah.sh > $HOME/cron.log 2>&1
And on that cron.log
file found this output:
the input device is not a TTY
Search led me here. And after I removed the -t
, it's working great now!
docker exec **-i** $( docker ps | grep mysql | cut -d' ' -f1) mysql --user= ..... > /var/tmp/temp.file