<?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>Linux, Java y programación &#187; bash</title>
	<atom:link href="http://casidiablo.net/tag/bash/feed/" rel="self" type="application/rss+xml" />
	<link>http://casidiablo.net</link>
	<description>Blog de Java, Programación y Linux</description>
	<lastBuildDate>Fri, 11 Nov 2011 05:41:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Hacer útil el prompt de bash</title>
		<link>http://casidiablo.net/prompts-utiles-bash-linux/</link>
		<comments>http://casidiablo.net/prompts-utiles-bash-linux/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 18:59:45 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3232</guid>
		<description><![CDATA[Antes que nada, una definición de prompt: Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable (extraído de la Wikipedia). Normalmente no lo vemos como algo muy [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fprompts-utiles-bash-linux%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Hacer%20%C3%BAtil%20el%20prompt%20de%20bash%22%20%7D);"></div>
<p style="text-align: justify;">Antes que nada, una definición de <a href="http://es.wikipedia.org/wiki/Prompt">prompt</a>:</p>
<p style="padding-left: 30px; text-align: justify;">Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable (extraído de la Wikipedia).</p>
<p style="text-align: justify;">Normalmente no lo vemos como algo muy importante, pero leyendo <a href="http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04">este artículo en </a><a href="http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04">Make Tech Easier</a> he reflexionado un poco acerca de este aspecto, y he hecho un listado de los prompts que me parecieron más útiles:</p>
<h3>1. Cambiar el color del prompt dependiendo del resultado del comando ejecutado</h3>
<p style="text-align: justify;">Este es de los que más me ha gustado: si ejecutas bien un comando, el prompt queda en su color original (en este caso verde); pero si te equivocas al tipearlo entonces queda en rojo. Además tiene una característica bastante interesante: te muestra el número dentro del historial que será asignado al comando que ejecutes. El resultado es el siguiente:</p>
<p style="text-align: center;"><img class="size-full wp-image-3236 aligncenter" title="prompt1" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt1.png" alt="prompt1" width="385" height="154" /></p>
<p>Para usarlo, ejecutas esto o lo pones en tu archivo <code>~/.bashrc</code> para hacerlo permanente:</p>
<pre class="brush: bash; title: ; notranslate">PROMPT_COMMAND='PS1=&quot;\[\033[0;33m\][\!]\`if [[ \$? = &quot;0&quot; ]]; then echo &quot;\\[\\033[1\\\;32m\\]&quot;; else echo &quot;\\[\\033[1\\\;31m\\]&quot;; fi\`[\u:\`if [[ `pwd|wc -c|tr -d &quot; &quot;` &gt; 18 ]]; then echo &quot;\\W&quot;; else echo &quot;\\w&quot;; fi\`]\$\[\033[0m\] &quot;; echo -ne &quot;\033]0;`hostname -s`:`pwd`\007&quot;'</pre>
<p><span id="more-3232"></span></p>
<h3>2. Mostrar una carita feliz si se ejecuta un comando correctamente</h3>
<p style="text-align: justify;">Este puede sonar algo infantil pero me parece bastante interesante. Funciona igual que el de arriba y el resultado es el siguiente:</p>
<p style="text-align: center;"><img class="size-full wp-image-3241 aligncenter" title="prompt2" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt2.png" alt="prompt2" width="386" height="154" /></p>
<pre class="brush: bash; title: ; notranslate">PS1=&quot;\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\` \[\033[01;32m\]\u:\[\033[01;34m\]\w \$\[\033[00m\] &quot;</pre>
<h3>3. Mostrar bastante información en el prompt</h3>
<p style="text-align: justify;">El siguiente prompt es bastante grande y se encuentra distribuido en 3 líneas. Muestra la fecha y hora actual, el usuario, el nombre del equipo, la terminal con la que se está trabajando, el directorio en donde estamos, la cantidad de archivos en el directorio y el espacio que ocupan. Se ve así:</p>
<p style="text-align: center;"><img class="size-full wp-image-3243 aligncenter" title="prompt3" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt3.png" alt="prompt3" width="542" height="183" /></p>
<pre class="brush: bash; title: ; notranslate">PS1=&quot;\n\[\033[35m\]\$(/bin/date)\n\[\033[32m\]\w\n\[\033[1;31m\]\u@\h: \[\033[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'): \[\033[1;36m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files \[\033[1;33m\]\$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\033[0m\] $ \[\033[0m\]&quot;</pre>
<h3>4. Mostrar la cantidad de procesos corriendo en background</h3>
<p style="text-align: justify;">Este es otro bastante interesante ya que te muestra aparte de lo normal: el número en el historial del comando a ejecutar, y la cantidad de procesos que se encuentren corriendo en background (aquellos ejecutados de la forma comando &amp;). Se ve así:</p>
<p style="text-align: center;"><img class="size-full wp-image-3244 aligncenter" title="prompt4" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt4.png" alt="prompt4" width="383" height="152" /></p>
<pre class="brush: bash; title: ; notranslate">PS1='\[\e[1;32m\]\u@\H:\[\e[m\] \[\e[1;37m\]\w\[\e[m\]\n\[\e[1;33m\]hist:\! \[\e[0;33m\] \[\e[1;31m\]jobs:\j \$\[\e[m\] '</pre>
<h3>5. Mostrar información de los archivos y procesos en background</h3>
<p style="text-align: justify;">Esta combina cosas de la 3 y la 4: muestra cantidad de archivos y espacio que ocupan, además de la cantidad de procesos corriendo en background. El resultado es este:</p>
<p style="text-align: center;"><img class="size-full wp-image-3245 aligncenter" title="prompt5" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt5.png" alt="prompt5" width="560" height="176" /></p>
<pre class="brush: bash; title: ; notranslate">PS1=&quot;\n\[\e[30;1m\]\[\016\]\[\017\](\[\e[34;1m\]\u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])-&gt;\[\e[30;1m\]\n\[\016\]\[\017\](\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--&gt; \[\e[0m\]&quot;</pre>
<p>¿se te ocurre algún otro?</p>
<p><strong>Actualización:</strong> he creado un ZIP con los prompts dentro ya que hay usuarios que, por culpa del navegador, no pueden verlos completos (cosas del resaltador de sintaxis):</p>
<p><a href="http://casidiablo.net/descargar/Prompts+para+Bash" class="tooltip descargacodigo" title="Descargar los prompts en texto plano comprimidos">Descargar</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/prompts-utiles-bash-linux/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Lista de códigos de colores para bash</title>
		<link>http://casidiablo.net/colorear-salida-consola/</link>
		<comments>http://casidiablo.net/colorear-salida-consola/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 21:30:08 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[colores]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3209</guid>
		<description><![CDATA[Siempre olvido cómo generar salida coloreada en la consola, y por lo tanto pierdo tiempo buscando en Internet. Así que, aprovechando que tengo fresco dicho tema, mejor dejo un listado y las instrucciones con el ánimo de que sea útil para alguien (y para mi, por supuesto). Negro 0;30 Gris oscuro 1;30 Azul 0;34 Azul [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fcolorear-salida-consola%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Lista%20de%20c%C3%B3digos%20de%20colores%20para%20bash%22%20%7D);"></div>
<p style="text-align: justify;">Siempre olvido cómo generar salida coloreada en la consola, y por lo tanto pierdo tiempo buscando en Internet. Así que, aprovechando que tengo fresco dicho tema, mejor dejo un listado y las instrucciones con el ánimo de que sea útil para alguien (y para mi, por supuesto).</p>
<ul>
<li>Negro 0;30</li>
<li>Gris oscuro 1;30</li>
<li>Azul 0;34</li>
<li>Azul resaltado 1;34</li>
<li>Verde 0;32</li>
<li>Verde resaltado 1;32</li>
<li>Cian 0;36</li>
<li>Cyan resaltado 1;36</li>
<li>Rojo 0;31</li>
<li>Rojo resaltado 1;31</li>
<li>Púrpura 0;35</li>
<li>Púrpura resaltado 1;35</li>
<li>Café 0;33</li>
<li>Amarillo 1;33</li>
<li>Gris 0;37</li>
<li>Blanco 1;37</li>
</ul>
<p><br/></p>
<h3>Ejemplos&#8230;</h3>
<p>Si lo vas a probar usando el comando echo, debes ejecutarlo con el parámetro -e:</p>
<p><code>echo -e 'Esto es \e[0;31mrojo\e[0m y esto es \e[1;34mazul resaltado\e[0m'</code></p>
<p><strong>Resultado</strong>:  <img title="bash-colors" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/08/bash-colors.png" alt="bash-colors" width="261" height="14" /></p>
<p><code>echo -e 'Así se escribe \e[1;34mG\e[0m\e[1;31mo\e[0m\e[1;33mo\e[0m\e[1;34mg\e[0m\e[1;32ml\e[0m\e[1;31me\e[0m'</code></p>
<p><strong>Resultado</strong>: <img title="google" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/08/google.png" alt="google" width="150" height="16" /></p>
<p>Como puedes observar, se trata de poner lo que quieras colorear entre los caracteres de escape \e[CODIGOm y \e[0m.</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/colorear-salida-consola/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

