<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[ChuJALT - Bash]]></title>
		<link>https://chujalt.com/</link>
		<description><![CDATA[ChuJALT - https://chujalt.com]]></description>
		<pubDate>Thu, 30 Apr 2026 15:09:03 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Menú de opciones en bash.]]></title>
			<link>https://chujalt.com/thread-23.html</link>
			<pubDate>Sun, 07 Mar 2021 19:48:22 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://chujalt.com/member.php?action=profile&uid=1">chujalt</a>]]></dc:creator>
			<guid isPermaLink="false">https://chujalt.com/thread-23.html</guid>
			<description><![CDATA[Saludos.<br />
<br />
Vamos a hacer un menú de opciones en bash, es un menú bastante sencillo, pero demuestra todo el potencial que tiene.<br />
<br />
El script es este:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
<br />
MENU="SELECCIONAR UNA OPCION DEL MENU: "<br />
while :<br />
do<br />
  echo -e " &#92;e[101;92m MENU PRINCIPAL &#92;e[0m"<br />
  PS3=&#36;MENU<br />
<br />
  select option in "Menu 1" "Menu 2" "Menu 3" "salir"<br />
  do<br />
    case &#36;REPLY in  <br />
      1) # menu 1<br />
         echo -e "&#92;e[30;107m Has pulsado la opcion &#36;option &#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
      2) # menu 2<br />
         echo -e " &#92;e[30;107m Has pulsado la opcion &#36;option &#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
      3) # menu 3<br />
         echo -e " &#92;e[30;107m Has pulsado la opcion &#36;option &#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
      4) # salir<br />
         clear<br />
         break 2  #  sale del script<br />
         ;;<br />
      *) # tecla erronea<br />
         echo -e "&#92;e[1;31mHas pulsado una tecla erronea [&#36;{REPLY}]&#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
    esac<br />
  done<br />
done<br />
<br />
exit 0</code></div></div> <br />
<br />
Al ejecutarlo nos saldrá este menú en la ventana del terminal<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://chujalt.com/1/imagenes/terminal_1.png" loading="lazy"  alt="[Imagen: terminal_1.png]" class="mycode_img img-responsive" /></div>
<br />
<br />
<br />
Como vemos tenemos 4 opciones, menú 1, 2, 3 y la opción de salir. Vamos a pulsar la opción 1<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://chujalt.com/1/imagenes/terminal_2.png" loading="lazy"  alt="[Imagen: terminal_2.png]" class="mycode_img img-responsive" /></div>
<br />
<br />
<br />
Si pulsamos la opción 4 saldremos del programa y si pulsamos cualquier otra tecla que no sea de las cuatro opciones nos informará que hemos pulsado una tecla errónea y tendremos la oportunidad de volver a seleccionar una opción.<br />
<br />
Saludos.]]></description>
			<content:encoded><![CDATA[Saludos.<br />
<br />
Vamos a hacer un menú de opciones en bash, es un menú bastante sencillo, pero demuestra todo el potencial que tiene.<br />
<br />
El script es este:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
<br />
MENU="SELECCIONAR UNA OPCION DEL MENU: "<br />
while :<br />
do<br />
  echo -e " &#92;e[101;92m MENU PRINCIPAL &#92;e[0m"<br />
  PS3=&#36;MENU<br />
<br />
  select option in "Menu 1" "Menu 2" "Menu 3" "salir"<br />
  do<br />
    case &#36;REPLY in  <br />
      1) # menu 1<br />
         echo -e "&#92;e[30;107m Has pulsado la opcion &#36;option &#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
      2) # menu 2<br />
         echo -e " &#92;e[30;107m Has pulsado la opcion &#36;option &#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
      3) # menu 3<br />
         echo -e " &#92;e[30;107m Has pulsado la opcion &#36;option &#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
      4) # salir<br />
         clear<br />
         break 2  #  sale del script<br />
         ;;<br />
      *) # tecla erronea<br />
         echo -e "&#92;e[1;31mHas pulsado una tecla erronea [&#36;{REPLY}]&#92;e[0m"<br />
         sleep 2<br />
         clear<br />
         break<br />
         ;;<br />
    esac<br />
  done<br />
done<br />
<br />
exit 0</code></div></div> <br />
<br />
Al ejecutarlo nos saldrá este menú en la ventana del terminal<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://chujalt.com/1/imagenes/terminal_1.png" loading="lazy"  alt="[Imagen: terminal_1.png]" class="mycode_img img-responsive" /></div>
<br />
<br />
<br />
Como vemos tenemos 4 opciones, menú 1, 2, 3 y la opción de salir. Vamos a pulsar la opción 1<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://chujalt.com/1/imagenes/terminal_2.png" loading="lazy"  alt="[Imagen: terminal_2.png]" class="mycode_img img-responsive" /></div>
<br />
<br />
<br />
Si pulsamos la opción 4 saldremos del programa y si pulsamos cualquier otra tecla que no sea de las cuatro opciones nos informará que hemos pulsado una tecla errónea y tendremos la oportunidad de volver a seleccionar una opción.<br />
<br />
Saludos.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Enumerar - renombrar archivos de directorio en bash.]]></title>
			<link>https://chujalt.com/thread-22.html</link>
			<pubDate>Sun, 07 Mar 2021 19:46:46 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://chujalt.com/member.php?action=profile&uid=1">chujalt</a>]]></dc:creator>
			<guid isPermaLink="false">https://chujalt.com/thread-22.html</guid>
			<description><![CDATA[Saludos.<br />
<br />
Vamos a ver un script en bash el cual ordena los archivos de un directorio, lo que hace es enumerarlos, es decir, mantiene el nombre del fichero pero le pone delante el número de orden, 1-_-unarchivo, 2-_-otroarchivo... etc.<br />
<br />
Primero veamos el script y luego comentamos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
i=1<br />
for f in *.*<br />
do<br />
  renombrar="&#36;i"-_-"&#36;{f#*}"<br />
  mv "&#36;f" "&#36;renombrar"<br />
  i=&#36;((i+1))<br />
done</code></div></div><br />
<br />
Este script se debe ejecutar en el directorio donde están los archivos a enumerar.<br />
<br />
El script enumera todos los archivos del directorio, pero si queremos que, por ejemplo, sólo enumere los archivos con extensión mp3 deberemos cambiar la línea <span style="color: #0074d9;" class="mycode_color">for f in *.*</span> por <span style="color: #005dc2;" class="mycode_color">for f in *.mp3 </span><br />
<br />
<span style="color: #000000;" class="mycode_color">Otro ejemplo, vamos a suponer que en ese directorio hay varios tipos de archivos (mp3, mp4, wav) y queremos enumerarlos por separado. Entonces vamos a reservar la serie 1000 para los archivos mp3, la serie 2000 para mp4... etc. Entonces cambiaremos la línea que hemos comentado antes y donde pone </span><span style="color: #005dc2;" class="mycode_color">i=1</span><span style="color: #000000;" class="mycode_color"> lo cambiaremos por </span><span style="color: #00369b;" class="mycode_color">i=1000</span><span style="color: #000000;" class="mycode_color">, para los archivos mp4 cambiaremos </span><span style="color: #005dc2;" class="mycode_color">for f in *.*</span><span style="color: #000000;" class="mycode_color"> por </span><span style="color: #005dc2;" class="mycode_color">for f in *.mp4</span><span style="color: #000000;" class="mycode_color"> e </span><span style="color: #005dc2;" class="mycode_color">i=1</span><span style="color: #000000;" class="mycode_color"> por </span><span style="color: #005dc2;" class="mycode_color">i=2000</span><span style="color: #000000;" class="mycode_color"> y así sucesivamente.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Ahora vamos a suponer que por cualquier razón, por ejemplo que tenemos archivos nuevos y hay que borrar la numeración para luego volver a enumerarlos, entonces ejecutaremos este script:</span><br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
for f in *.*<br />
do<br />
  renombrar=&#36;{f##*-_-}<br />
  mv "&#36;f" "&#36;renombrar"<br />
done</code></div></div><br />
<br />
<span style="color: #000000;" class="mycode_color">Esto dejará el archivo con su nombre original, sin la numeración. Acordaros que como está el script quitará la numeración a todos los archivos, si queréis hacerlo en una extensión en concreto deberéis ponerla.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Bueno, ya está, espero que le sirva a alguien.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Saludos.</span>]]></description>
			<content:encoded><![CDATA[Saludos.<br />
<br />
Vamos a ver un script en bash el cual ordena los archivos de un directorio, lo que hace es enumerarlos, es decir, mantiene el nombre del fichero pero le pone delante el número de orden, 1-_-unarchivo, 2-_-otroarchivo... etc.<br />
<br />
Primero veamos el script y luego comentamos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
i=1<br />
for f in *.*<br />
do<br />
  renombrar="&#36;i"-_-"&#36;{f#*}"<br />
  mv "&#36;f" "&#36;renombrar"<br />
  i=&#36;((i+1))<br />
done</code></div></div><br />
<br />
Este script se debe ejecutar en el directorio donde están los archivos a enumerar.<br />
<br />
El script enumera todos los archivos del directorio, pero si queremos que, por ejemplo, sólo enumere los archivos con extensión mp3 deberemos cambiar la línea <span style="color: #0074d9;" class="mycode_color">for f in *.*</span> por <span style="color: #005dc2;" class="mycode_color">for f in *.mp3 </span><br />
<br />
<span style="color: #000000;" class="mycode_color">Otro ejemplo, vamos a suponer que en ese directorio hay varios tipos de archivos (mp3, mp4, wav) y queremos enumerarlos por separado. Entonces vamos a reservar la serie 1000 para los archivos mp3, la serie 2000 para mp4... etc. Entonces cambiaremos la línea que hemos comentado antes y donde pone </span><span style="color: #005dc2;" class="mycode_color">i=1</span><span style="color: #000000;" class="mycode_color"> lo cambiaremos por </span><span style="color: #00369b;" class="mycode_color">i=1000</span><span style="color: #000000;" class="mycode_color">, para los archivos mp4 cambiaremos </span><span style="color: #005dc2;" class="mycode_color">for f in *.*</span><span style="color: #000000;" class="mycode_color"> por </span><span style="color: #005dc2;" class="mycode_color">for f in *.mp4</span><span style="color: #000000;" class="mycode_color"> e </span><span style="color: #005dc2;" class="mycode_color">i=1</span><span style="color: #000000;" class="mycode_color"> por </span><span style="color: #005dc2;" class="mycode_color">i=2000</span><span style="color: #000000;" class="mycode_color"> y así sucesivamente.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Ahora vamos a suponer que por cualquier razón, por ejemplo que tenemos archivos nuevos y hay que borrar la numeración para luego volver a enumerarlos, entonces ejecutaremos este script:</span><br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
for f in *.*<br />
do<br />
  renombrar=&#36;{f##*-_-}<br />
  mv "&#36;f" "&#36;renombrar"<br />
done</code></div></div><br />
<br />
<span style="color: #000000;" class="mycode_color">Esto dejará el archivo con su nombre original, sin la numeración. Acordaros que como está el script quitará la numeración a todos los archivos, si queréis hacerlo en una extensión en concreto deberéis ponerla.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Bueno, ya está, espero que le sirva a alguien.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Saludos.</span>]]></content:encoded>
		</item>
	</channel>
</rss>