Erro estranho no shell do linux

Discussão sobre linux para plataformas Intel x86 ou x64 (PC)

Moderadores: 51, guest2003, Renie, gpenga

Erro estranho no shell do linux

Mensagempor joao » 26 Jan 2009 07:24

Ola pessoal!

Eu estou com um estrnaho problema no linux do trampo. Na verdade é um ssh que eu faço para um servidor de outra empresa e essa máquina e deste modelo:
SunOS panther5 5.9 Generic_118558-39 sun4u sparc SUNW,Sun-Fire-V440

O que acontece é que toda vez que eu escrevo algo deste tipo: 2> ou >& o sistema se perde quando pressiono enter e acaba separando os comandos para 2 > e > & respectivamente.

Então, caso eu faça:

find . 2> /dev/null > /tmp/file.txt

Ele reclama:
ambiguous output redirect

pois na verdade, foi enviado:
find . 2 > /dev/null > /tmp/file.txt

O problema não acontece caso eu faça um pequeno script como este:
#!/bin/sh
find . 2> /dev/null > /tmp/file.txt


Alguma idéia do problema? Será que é no Ssh ou na configuração da máquina?

PS: A minha conta é meio tosca, não tenho acesso a várias coisas, então provavelmente não conseguiria mudar alguns arquivos de configuração que afete outros usuários também.

Obrigado,
Joao
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor xultz » 26 Jan 2009 10:06

Se ao fazer o script o problema não acontece, verifique primeiro a que o link /bin/sh se refere. Geralmente é um symlink para um executável, que pode ser o bash, o csh, etc. E verifique que shell vocẽ está rodando. Pode ser que o ssh chame um shell tipo csh e o script rode pelo bash, e pode ser que entre eles haja uma diferença de sintaxe.

Mas é só um palpite...
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor joao » 26 Jan 2009 10:28

Ola xults!

Olha, eu tentei achar o link para o /bin/sh mas não deu nada:
ls -la /bin/sh

Retornou que é um executável. Tentei abrir e realmente é um executável.

Eu sei que eu estou usando o tc shell, pois todas as minhas configurações estão no arquivo .tcsh.

Mas entendi a sua idéia. Então realmente o problema está no tc shell, já que via script está ok. Infelizmente não posso usar outro bash porque está já td configurado para o tc shell. Mas qualquer idéia é bem vinda.

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor msamsoniuk » 26 Jan 2009 17:39

o sh e o bash sao o mesmo, soh que o bash eh a versao gnu com alguns extras, como maior consumo de memoria e bugs diversos, mas eh quase igual. e obviamente nao tem link no /bin/sh pq solaris eh derivado de bsd e nem sabe o q eh bash neh.

enfim, para se livrar do tsh crie um .tcshrc e dentro chame o /bin/sh ou o shell que vc gosta. qdo vc logar, ele vai rodar o seu shell preferido (dah um zoio em man tcsh para ver detalhes).
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor joao » 26 Jan 2009 19:14

Ola Marcelo,

O problema é que eu perco todas as configurações que eu fiz para o tc...
Por exemplo, chamei o sh no shell e quando entrei nele, perdi td que já tinha configurado mais os alias...

Na verdade as configurações eu até posso refazer, mas os alias são muitos e muito espalhados...

De qualquer maneira, valeu pela dica.

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor msamsoniuk » 26 Jan 2009 19:47

vc usar o bash e criar um .bashrc, dae ele reconfigura tudo novamente! :) hehehe

nao eh mais facil pedir para o admin mudar seu shell para o sh ? :D
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04


Voltar para Linux ( x86 ou x64 )

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x