Normalmente, uma mensagem como
stdin: is not a tty
ao usar coisas como scp
, rsync
ou SFTP significa que há algo nos scripts de login do sistema de destino que pressupõe que todas as sessões terão um TTY. Isso não é verdade: logins não interativos, como scp
, rsync
ou SFTP, não terão um TTY.
Se os seus scripts de login tiverem algo que tente alterar as configurações do terminal ou executar qualquer outra entrada / saída, deve ser feito condicional se a sessão tiver um TTY ou não. Por exemplo, se o script ~/.[bash_]profile
ou .bashrc
tiver estes comandos:
echo "Today's fortune cookie:"
fortune
eles devem ser alterados para:
if tty -s
then
echo "Today's fortune cookie:"
fortune
fi