shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: duvida redirecionamento da saida de erro


From: Marcelo Giovani
Subject: Re: duvida redirecionamento da saida de erro
Date: Thu, 18 Dec 2008 12:39:47 -0800 (PST)

  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:

 user@maq>touch arquivo.txt
 user@maq>echo "conteudo_do_arquivo" >> arquivo.txt
 user@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).

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

 user@maq>

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

 user@maq>ABC=`cat arquivo.txt 2>&1`
 user@maq>echo $ABC
 cat: arquivo.txt: Permissão negada
 user@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 <address@hidden> escreveu:
De: Rafael de Oliveira Costa <address@hidden>
Assunto: [shell-script] duvida redirecionamento da saida de erro
Para: address@hidden
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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]