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
  • MSI Stealth A16 AI+ A3XW Review: una mini estación de trabajo ligera para creadores
  • XPG MARS 980 Blade Gen5 SSD 1TB Review: buen equilibrio precio y prestaciones
  • ASUS TUF Gaming VG27AQML5A Review: un auténtico Fast IPS de 300 Hz muy completo
  • MSI Titan 18 HX Titan AI A2XW Review: para los amantes del rendimiento máximo sin apenas concesiones
  • ASUS VA34VCPSR Review: espacio y versatilidad ideales para un monitor business
  • Acer Predator Helios 16 AI (PH16-73) Review: estética gaming y excelente rendimiento
  • be quiet! Pure Power 13 M 850W Review: Eficiencia y silencio con los últimos estándares PCIe y ATX
  • MSI Raider 18 HX AI A2XW Review: rendimiento en estado puro para gaming y productividad
  • Corsair iCUE LINK Titan 420 RX RGB Review: AIO tope de gama con la mejor gestión de software y cableado
  • ASUS ROG STRIX G16 (2025) G614 Review: el procesador AMD Ryzen 9 9955HX3D hace valer su caché extra
Top articulos
  • Sapphire Pulse AMD Radeon RX 9060 XT Review: Rendimiento 1080p y 16 GB de VRAM a precio competitivo
  • ASUS ROG Zephyrus G16 2025 GU605 Review: un portátil slim para productividad y gaming
  • GIGABYTE AMD Radeon RX 9060 XT GAMING OC 16G Review: Excelente refrigeración y rendimiento 1080p
  • ASUS ROG STRIX SCAR 18 2025 G835LX Review: festival de especificaciones para los gamers
  • GIGABYTE GS32QCA con AMD Radeon RX 9060 XT Review: una pareja bien avenida
  • MSI MAG CORELIQUID A15 360 Review: Buen rendimiento y gran estética con ARGB
  • MSI Vector 16 HX AI A2XW Review: un portátil de gama media-alta para gaming y productividad
  • ASUS ROG STRIX G16 (2025) G614 Review: el procesador AMD Ryzen 9 9955HX3D hace valer su caché extra
  • Corsair HX1200i Review: La cuarta revisión de una fuente digital prémium, ahora con dos cables 12V-2x6
  • ASUS Vivobook S14 (S3407) Review: portátil muy compacto con rendimiento, autonomía y excelente calidad de construcción
Compras recomendadas
  • AMD Ryzen 7 7800X3D 4.2 GHz/5 GHz
  • Samsung 990 PRO 2TB SSD PCIe 4.0 NVMe M.2
  • Gigabyte GeForce RTX­­ 4060 GAMING OC 8GB GDDR6 DLSS3
  • ASUS Dual GeForce RTX 4060 EVO OC Edition 8GB GDDR6 DLSS3
  • Samsung Galaxy S24 Ultra 12/256GB Gris Titanium Libre + Cargador
  • Zotac Gaming GeForce RTX 4070 Ti SUPER Trinity Black Edition 16GB GDDR6X DLSS3
  • MSI GeForce RTX 4080 SUPER VENTUS 3X OC 16GB GDDR6X DLSS3
Noticias 3D
  • articulos
  • drivers
  • foro
  • tags
  • contacto
  • publicidad
© Copyright 2000 - 2025 | nFinite9000 S.L. | Todos los derechos reservados | Aviso legal