Olá Rafael,

  tenta redirecionar a saída de erro (2)  para a saída padão (1) e as mensagens 
de erro (se ouver) aparecerão em uma variável (caso atribua a esta variável a 
saída de um comando).

  Por exemplo:

 u...@maq>touch arquivo.txt
 u...@maq>echo "conteudo_do_arquivo" >> arquivo.txt
 u...@maq>chmod 000 arquivo.txt

  Se atribuirmos à variável ABC o resultado do comando "cat arquivo.txt" a 
variável ABC ficará sem valor pois o arquivo não tem permissão de leitura 
(permissão 000).

 u...@maq>ABC=`cat arquivo.txt`
 u...@maq>echo $ABC

 u...@maq>

 Se redirecionarmso a saída de erro para a saída padrão temos:

 u...@maq>ABC=`cat arquivo.txt 2>&1`
 u...@maq>echo $ABC
 cat: arquivo.txt: Permissão negada
 u...@maq>

  O "2>&1" redireciona a saída de erro (2) para a saída padrão (1) e se houver 
mensagem de erro essa vai aparecer na saída padrão que por sua vez será 
atribuida à variável ABC.

  Espero ter ajudado.

  Um forte abraços e um ótimo 2009 a todos!!

  Marcelo Giovani



--- Em ter, 16/12/08, Rafael de Oliveira Costa <[email protected]> 
escreveu:
De: Rafael de Oliveira Costa <[email protected]>
Assunto: [shell-script] duvida redirecionamento da saida de erro
Para: [email protected]
Data: Terça-feira, 16 de Dezembro de 2008, 15:42










    
            Ola pessoal,



estou tentando fazer com que uma variavel receba a saida de erro de um

comando para que eu possa fazer verificacoes nessa variavel mais tarde. eu

resolvi esse problema como abaixo mas nao gostei da solucao pois cria um

arquivo e depois tenho que apagar o mesmo, no caso, TEMP



# mt -f /dev/st0 status 2> TEMP

# erro_fita=$( cat TEMP)

# rm TEMP



Alguem tem alguma ideia de como posso fazer isso ?



Alem disso, eu tentei fazer essa mesma tarefa atraves de "redirecionamentos"

pois vi uns exemplos no seguinte site

http://tldp. org/LDP/abs/ html/io-redirect ion.html

porem nao funciona da maneira que eu esperava ou entao eu nao estou sabendo

utilizar. segue a minha tentativa



exec 6<&1

exec 1<&2



erro_fita=$( mt -f /dev/st0 status)



exec 2<&1

exec 1<&6

exec 6<&-



echo "erro_fita = $erro_fita"



-- 

Atenciosamente

Rafael de Oliveira Costa



"The first step to getting the things you want out of life is this : decide

what you want"

Ben Stein



[As partes desta mensagem que não continham texto foram removidas]




      

    
    
        
         
        
        








        


        
        


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a