SSH tput aviso / aviso (erro?)

3

Recentemente, comecei a receber o seguinte erro ao executar comandos diretamente por meio do comando ssh :

tput: No value for $TERM and no -T specified

O comando que estou executando de uma caixa linux (vamos nos referir como alpha ) para a caixa beta para produzir o erro é:

[dtbarne@alpha ~]$ ssh beta ls

Tudo parece funcionar bem, acabei de obter 33 linhas do erro acima mencionado. Se eu tentar executar o mesmo comando em outro servidor, como [dtbarne@alpha ~]$ ssh charlie ls , não vejo o erro, então ele parece estar isolado para beta .

No entanto, se eu pulo para uma sessão com apenas [dtbarne@alpha ~]$ ssh beta e depois executo ls, nunca vejo os erros.

    
por dtbarne 06.07.2011 / 02:00

2 respostas

7

Provavelmente há um comando tput no usuário .bashrc on beta e não se preocupa em verificar se o shell é interativo. Isso não só quebrará ssh , mas também vários programas que invocam o shell para expansão de nome de arquivo (nomes de arquivos com curingas em vi / nvi / vim , operador <*> glob de Perl, etc.). p>

Com shells compatíveis com Bourne / POSIX, você deve testar o i flag em $- ou testar se $PS1 não é vazio (o primeiro é o caminho oficial); com csh / tcsh você testa $?prompt .

    
por 06.07.2011 / 02:15
1

Tente com

ssh -t host ls

ou

env TERM=xterm ssh host ls

Tente redirecionar o fluxo de erros com o seu shell, se você ainda vir as mensagens de erro, isso significa que ele vem do servidor remoto. Se não, vem do seu cliente. Os erros de termcaps ocorrem principalmente quando a variável de ambiente "TERM" não está configurada corretamente.

    
por 06.07.2011 / 03:20

Tags