<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Douglas Cunha &#187; Cron</title>
	<atom:link href="http://douglascunha.com/blog/tag/cron/feed/" rel="self" type="application/rss+xml" />
	<link>http://douglascunha.com/blog</link>
	<description>Tecnologia, programação e coisas aleatórias</description>
	<lastBuildDate>Fri, 20 Aug 2010 02:20:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Como redirecionar a saída de erro (stderr) para stdout ou arquivo</title>
		<link>http://douglascunha.com/blog/2009/01/como-redirecionar-a-saida-de-erro-stderr-para-stdout-ou-arquivo/</link>
		<comments>http://douglascunha.com/blog/2009/01/como-redirecionar-a-saida-de-erro-stderr-para-stdout-ou-arquivo/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 22:15:15 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Cron]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[stderr]]></category>
		<category><![CDATA[stdout]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=85</guid>
		<description><![CDATA[Situação normal no Linux é executar um comando direcionando sua saída para um arquivo (ou outro comando, como less) e ver que os erros não são direcionados corretamente, embora apareçam na tela. Por que isso acontece e como resolver? stdin, stdout e stderr Existem três streams de dados padrão em todo ambiente Linux: stdin Entrada [...]]]></description>
			<content:encoded><![CDATA[<p>Situação normal no Linux é executar um comando direcionando sua saída para um arquivo (ou outro comando, como <em>less</em>) e ver que os erros não são direcionados corretamente, embora apareçam na tela. Por que isso acontece e como resolver?<br />
<span id="more-85"></span></p>
<h3>stdin, stdout e stderr</h3>
<p>Existem três streams de dados padrão em todo ambiente Linux:</p>
<dl>
<dt><strong>stdin</strong></dt>
<dd>Entrada padrão de dados para o programa</dd>
<dt><strong>stdout</strong></dt>
<dd>Saída padrão de dados do programa</dd>
<dt><strong>stderr</strong></dt>
<dd>Saída padrão de erro</dd>
</dl>
<p>Os programas recebem dados na stdin toda vez que você direciona algo para ele usando o pipe (<em>comando | outro_comando</em>) ou direciona o conteúdo de um arquivo (<em>comando &lt; arquivo.txt</em>).</p>
<p>O resultado da execução de um programa em geral é jogado na saída padrão (stdout) e os erros na stderr. Embora apareça tudo na tela, na verdade saem por canais diferentes que desembocam no console.</p>
<p>Só que quando você usa direciona a saída usando um pipe ou &#8220;&gt;&#8221; apenas a stdout é direcionada, a strerr continua indo para a tela. Para modificar esse fluxo, podem ser usados os artifícios abaixo:</p>
<table border="0" width="100%">
<thead>
<tr>
<th>Ação</th>
<th>Comando</th>
</tr>
</thead>
<tbody>
<tr>
<td>Redirecionar saída (stdout) para arquivo</td>
<td>comando &gt; saida.txt</td>
</tr>
<tr>
<td>Redirecionar stderr para stdout</td>
<td>comando 2&gt;&amp;1</td>
</tr>
<tr>
<td>Redirecionar stderr para stdout e então para arquivo</td>
<td>comando 2&gt;&amp;1 &gt; saida.txt</td>
</tr>
<tr>
<td>Redirecionar stderr e stdout direto para arquivo</td>
<td>comando &amp;&gt; arquivo.txt</td>
</tr>
</tbody>
</table>
<p>Esse tipo de redirecionamento pode ser particularmente útil em scripts que rodam no <em>cron</em>, em que a saída stdout é direcionada para <em>/dev/null</em> mas stdout continua indo para o e-mail do administrador.<br />
<!--product-ads--><br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/" title="Manipulação de imagens usando ImageMagick">Manipulação de imagens usando ImageMagick</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/usando-hard-links/" title="Usando hard links">Usando hard links</a></li>
</ul>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdouglascunha.com%2Fblog%2F2009%2F01%2Fcomo-redirecionar-a-saida-de-erro-stderr-para-stdout-ou-arquivo%2F&amp;linkname=Como%20redirecionar%20a%20sa%C3%ADda%20de%20erro%20%28stderr%29%20para%20stdout%20ou%20arquivo"><img src="http://douglascunha.com/blog/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/01/como-redirecionar-a-saida-de-erro-stderr-para-stdout-ou-arquivo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
