When I run drush @SITEALIAS.live sql-dump > db.sql on some servers or in fact any remote drush command I get:

stdin: is not a tty as part of the return.

This is difficult when doing sql dumps as then you have to edit a multi megayte file to remove that from the head.


I'm reading from here: https://stackoverflow.com/questions/7062521/rsync-exits-with-the-message-stdin-is-not-a-tty

You need to add:

[ -z "$PS1" ] && return

to the beginig of .bashrc that is located in your home dir. That command checks to see if the shell is running interactively. If so, it exits immediately. This makes sense since stuff in the bash configuration file isn't needed for non interactive processes, like rsync

"in your home dir" meaning the user used to login on your @SITEALIAS.live server. So you need to SSH into your server as that user, and add the above line to the beginning of your ~/.bashrc on that server.

An explanation from another answer:

The error message "stdin: is not a tty" is due to something in the startup script on your server attempting to process an action that should only happen for interactive logins (when you connect with ssh direct to the server, etc).


Not the answer you're looking for? Browse other questions tagged or ask your own question.