Que tal passar -s /bin/bash
para su
?
Eu tenho um script bash onde eu uso ssh
para se conectar a outro servidor e executar alguns comandos lá. Eu encontrei alguns sites que o erro ( Warning: no access to tty (Bad file descriptor).
Thus no job control in this shell.
) é uma mensagem amigável, mas meu script bash fica "preso". Nenhum outro comando é executado após essa mensagem aparecer. Outros fóruns disseram para usar ssh -t
para suprimir a mensagem, mas ela não funciona para mim. Meu código é parecido com isto:
.
.
.
stty -echo
sshpass "pwd" ssh -o StrictHostKeyChecking=no [email protected] 'su -lc "rm -rf tmp"' 2>/dev/null
stty echo
.
.
.
A razão pela qual eu estou usando stty-echo
é porque eu preciso mudar os usuários para root e a senha é exibida no terminal (o que eu não quero). Eu recebo a mensagem de erro ( Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.
) depois de digitar a senha para root no servidor de conexão (ip: 1.1.1.1).
Alguma sugestão? Deixe-me saber se mais explicações são necessárias. Obrigado! (Minha versão do bash é GNU bash versão 3.2.51 (1))
A mensagem de erro que recebo quando removo 2>/dev/null
é:
Warning: no access to tty (Bad file descriptor).
Thus no job control in this shell.
stty: standard input: Invalid argument
Que tal passar -s /bin/bash
para su
?