Como posso ter certeza de que o bash (não o tcsh) é usado no Linux?

0

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
    
por Alias 27.08.2014 / 19:46

1 resposta

0

Que tal passar -s /bin/bash para su ?

    
por 27.08.2014 / 20:45