Noticias3D
Registrarme | Recuperar password
  • Inicio(current)
  • Noticias
    • Últimas noticias
    • MÁs leÍdas
    • MÁs comentadas
    • Envia una noticia
  • Articulos
    • Todos
    • Placas base
    • Tarjetas grÁficas
    • Almacenamiento
    • F.AlimentaciÓn
    • Cajas de ordenador
    • Audio y vÍdeo
    • Gaming
    • PortÁtiles
    • GuÍas y taller
    • Memoria
    • Monitores
  • Tags
  • Drivers
  • Foro
×

Google

Curso desde 0 de GNU/LINUX - entrega 45

featured image
20 de agosto, 2008 |
Matados2K
Siguiente
Mostrando página 1 de 3

Entrega 45 - página 1

CURSO DESDE 0 DE GNU/LINUX. Versión 2.

Entrega 45. Shell Script (IV).

Una forma más limpia de usar if.

Hay otra forma de escribir nuestros scripts sin usar directamente el comando 'test' en las condiciones como los if, aunque en el fondo es exactamente lo mismo y las opciones las mismas que las del cuadro de 'test' mostradas en la entrega anterior.

[ expr ]

Donde 'expr' es una expresión del mismo modo que las del comando 'test', con lo cual el último ejemplo de la entrega anterior quedaría de la siguiente forma:

#! /bin/bash

if [ $# -ne 2 ]
then
echo Se necesitan 2 números
return 1
fi


if [ $1 -lt $2 ]
then
echo $1 es menor que $2
else
if [ $1 -gt $2 ]
then
echo $1 es mayor que $2
else
echo $1 es igual que $2
fi
fi


return 0

De ejecución:

matados2k@imperio:~/curso$ sh ejemplo45.sh
Se necesitan 2 números
matados2k@imperio:~/curso$ sh ejemplo45.sh 2 4
2 es menor que 4
matados2k@imperio:~/curso$ sh ejemplo45.sh 4 2
4 es mayor que 2
matados2k@imperio:~/curso$

Es muy importante dejar espacios en blanco después de '[' y antes de ']' o no funcionará. Personalmente, para mí esta forma es más limpia y más legible que usar 'test' directamente, cada uno lo que más le guste.

Realmente, el uso de '[ ' es ' ]' es una referencia al comando 'test' dentro del intérprete de bash.

Estructura condicional case.

En algunas ocasiones nos encontramos con unas estructuras if .. then ... else if ... anidadas para ver las múltiples opciones de una variable, por poner un ejemplo. En ese caso es mucho mejor usar una estructura como 'case':

case variable in
patrón1) lista de comandos
;;
patrón2|patrón3) lista de comandos
;;
patrónN) lista de comandos
;;
esac

El comportamiento de esta estructura es el siguiente: según la variable se van mirando los patrones, cuando se encuentre uno que coincida se ejecuta la lista de comandos hasta los ';;' y se termina la ejecución de la estructura 'case'.

El patrón es el valor que uno espera encontrarse y pueden usarse cualquiera de los siguientes comodines, al igual que en la línea de comandos:

?comprueba un carácter
*comprueba cualquier número de cualquier tipo de caracteres
[nnn]comprueba cualquiera de los caracteres entre corchetes
[!nnn]comprueba cualquier carácter que no este entre los corchetes
[n-n]comprueba cualquier carácter en el rango
Páginas:
Siguiente
Mostrando página 1 de 3

Tags:Linux, Software

Ver comentarios (0)

Últimos articulos
  • AORUS FO27Q5P Review: 500 Hz de refresco y tecnologías gaming punteras
  • Intel, AMD, Qualcomm y NVIDIA: ¿qué plataforma es mejor para tu próximo PC con Windows?
  • XPG NOVAKEY RGB DDR5 6000 C30 Review: las primeras memorias con efecto RGB de espejo infinito
  • Corsair FRAME 5000D Wood RS Review: torre premium con elegancia y flujo de aire máximos
  • KIOXIA EXCERIA PRO G2 2TB Review: alta eficiencia y máximo rendimiento PCIe 5.0
  • Acer Predator Helios Neo 16S AI Review: un portátil gaming delgado, que apuesta por la calidad precio
  • ASUS ROG NUC 16 Review: Rendimiento gaming de muy alto nivel en el mínimo espacio
  • ASUS ROG Strix SLC IV 360 ARGB LCD Review: AIO premium con gran estética, LCD y conectividad avanzada
  • Qué monitor OLED comprar en 2026
  • ASUS ROG Strix Scar 18 2026 Review: una experiencia gaming 4K fluida en formato portátil
Top articulos
  • ASUS ROG NUC 16 Review: Rendimiento gaming de muy alto nivel en el mínimo espacio
  • Forza Horizon 6 con GeForce RTX: Ray tracing, NVIDIA DLSS 4.5, Multi Frame Generation y Reflex
  • ASUS ROG Zephyrus Duo (2026) GX651 Review: portátil gaming ultrapremium con doble pantalla OLED y RTX 5090
  • Acer Predator Helios Neo 16S AI Review: un portátil gaming delgado, que apuesta por la calidad precio
  • Asus ROG Zephyrus G14 (2026) GU405 Review: portátil gaming OLED 3K con RTX 5070 Ti
  • Qué monitor OLED comprar en 2026
  • be quiet! Dark Rock 6 y Dark Rock Pro 6 Review: disipadores premium para máximo silencio
  • Intel, AMD, Qualcomm y NVIDIA: ¿qué plataforma es mejor para tu próximo PC con Windows?
  • MSI Cubi NUC AI+ 3MG Review: MiniPC Panther Lake ultracompacto con IA y funcionamiento 24/7
  • MSI MPG 341CQR QD-OLED x36 Review: monitor gaming ultrawide QD-OLED de 360 Hz con DisplayPort 2.1 y HDR 1300
Compras recomendadas
  • AMD Ryzen 7 7800X3D 4.2 GHz/5 GHz
  • Procesador AMD Ryzen 7 9800X3D 4.7/5.2GHz
  • Tarjeta Gráfica Asus Radeon RX 9070 XT OC 16GB GDDR6 Edición Call of Duty
  • Tarjeta Gráfica Gigabyte GeForce RTX 5070 Ti EAGLE OC SFF 16GB
  • Placa Base ASUS TUF GAMING B650-PLUS WIFI
  • Monitor MSI MPG 272URX QD-OLED 26.5" QD-OLED UltraHD 4K 240Hz 0.03ms
  • Tarjeta Gráfica Palit GeForce RTX 5080 GamingPro 16GB
Noticias 3D
  • articulos
  • drivers
  • foro
  • tags
  • contacto
  • publicidad
© Copyright 2000 - 2026 | nFinite9000 S.L. | Todos los derechos reservados | Aviso legal