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 43

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

Entrega 43 - página 1

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

Entrega 43. Shell Script (II).

Más de nuevo, por favor.

En la entrega anterior vimos que en principio no se pueden manejar más de nueve parámetros, pero podemos superar esta limitación con 'shift', esto provoca la eliminación de '$1' y '$2' pasa a ser '$1' y así sucesivamente. La verdad, a mí me parece algo muy cutre, pero supongo que su explicación histórica tendrá.

#! /bin/bash



mi_variable="hola"

echo $mi_variable soy $0 me has dicho $1 $2 $3 $4 $5 $6 $7 $8 $9

shift

echo $9

shift

echo $9

De ejecución:

matados2k@imperio:~/curso$ sh ejemplo43.sh 1 2 3 4 5 6 7 8 9 10 11

hola soy ejemplo43.sh me has dicho 1 2 3 4 5 6 7 8 9

10

11

matados2k@imperio:~/curso$

Evidentemente, el uso de 'shift' es para emplearlo junto con '$#' y alguna estructura de control como un 'for', que si no sabes lo que es no te preocupes, que lo veremos.

Y algunas variables predefinidas útiles más.

'$?' nos da el valor de retorno del último comando ejecutado, si algo se ejecutó correctamente lo normal es que sea un valor '0'. Veámoslo en línea de comandos:

matados2k@imperio:~/curso$ chmod -r ejemplo43.sh

matados2k@imperio:~/curso$ cat ejemplo43.sh

cat: ejemplo43.sh: Permiso denegado

matados2k@imperio:~/curso$ echo $?

1

matados2k@imperio:~/curso$ chmod +r ejemplo43.sh

matados2k@imperio:~/curso$ echo $?

0

matados2k@imperio:~/curso$ chmod -r ejemplo43.sh

matados2k@imperio:~/curso$ sh ejemplo43.sh 1 2 3 4 5 6 7 8 9 10 11

sh: Can't open ejemplo43.sh

matados2k@imperio:~/curso$ echo $?

2

matados2k@imperio:~/curso$

Normalmente un número positivo distinto de cero nos va a indicar una ejecución correcta en la que ha ocurrido algo, y un número negativo un fallo. Esta variable nos puede resultar muy útil en un script para abortarlo o continuar ejecutando comandos dependiendo de lo bien que se ejecutó el comando anterior.

'$$' Nos da el número de proceso del shel script. Veamos un trágico ejemplo con triste final:

#! /bin/bash



echo Mi número de proceso es $$ y voy a suicidarme

kill $$

De ejecución:

matados2k@imperio:~/curso$ sh ejemplo43.sh

Mi número de proceso es 6431 y voy a suicidarme

Terminado

matados2k@imperio:~/curso$

'$!' Nos da el número de proceso del último proceso ejecutado en segundo plano. Veamos un nuevo caso de asesinato:

#! /bin/bash



echo Hola amigos vamos a ejecutar \'yes\' de forma silenciosa.

yes > /dev/null &

echo Contemos mentalmente hasta cinco

sleep 5

echo ¡Y muere$!\!

kill $!

echo Basado en muertes de comandos reales.

De ejecución:

matados2k@imperio:~/curso$ sh ejemplo43.sh

Hola amigos vamos a ejecutar 'yes' de forma silenciosa.

Contemos mentalmente hasta cinco

¡Y muere6528!

Basado en muertes de comandos reales.

matados2k@imperio:~/curso$

Páginas:
Siguiente
Mostrando página 1 de 3

Tags:Linux, Software

Ver comentarios (0)

Últimos articulos
  • QNAP QuTS hero h6.0 Review: ZFS, Qtier Hero e IA para llevar los NAS empresariales al siguiente nivel
  • be quiet! Light Loop IO LCD 360mm Review: una refrigeración líquida AIO con pantalla LCD, ARGB y un excelente rendimiento
  • Corsair 3200D RS ARGB Review: una caja ATX con gran flujo de aire y tres ventiladores ARGB por menos de 100 €
  • MSI Prestige 13 AI+ A3MG Review: un portátil OLED de menos de 900 gramos con Intel Core Ultra 7 355
  • HP Z4 G6i WORKSTATION G6 Review: una estación de trabajo con Intel Xeon y RTX Pro 6000 para IA y HPC
  • ASUS ROG Strix OLED XG32UQWMS Review: monitor Tandem WOLED 4K de 240 Hz con modo dual a 480 Hz
  • Guía: Cómo usar HWiNFO para monitorizar y auditar el rendimiento de tu PC
  • GIGABYTE Radeon RX 7900 GRE Gaming OC 16G Review: ¿merece la pena en 2026 con FSR 4?
  • X870 AORUS INFINITY Review: una placa base X870 para exprimir al máximo los Ryzen X3D
  • XPG MARS 970 PLUS 1TB Review: Gran eficiencia y alto rendimiento secuencial
Top articulos
  • Acer Predator Helios Neo 16S AI Review: un portátil gaming delgado, que apuesta por la calidad precio
  • ASUS ROG Zephyrus G16 (2026) Review: RTX 5080 Laptop y Core Ultra 9 386H en un portátil gaming ultraligero
  • Intel, AMD, Qualcomm y NVIDIA: ¿qué plataforma es mejor para tu próximo PC con Windows?
  • GIGABYTE Radeon RX 7900 GRE Gaming OC 16G Review: ¿merece la pena en 2026 con FSR 4?
  • KIOXIA EXCERIA PRO G2 2TB Review: alta eficiencia y máximo rendimiento PCIe 5.0
  • X870 AORUS INFINITY Review: una placa base X870 para exprimir al máximo los Ryzen X3D
  • XPG NOVAKEY RGB DDR5 6000 C30 Review: las primeras memorias con efecto RGB de espejo infinito
  • Guía: Cómo usar HWiNFO para monitorizar y auditar el rendimiento de tu PC
  • ASUS ROG Strix OLED XG32UQWMS Review: monitor Tandem WOLED 4K de 240 Hz con modo dual a 480 Hz
  • Corsair FRAME 5000D Wood RS Review: torre premium con elegancia y flujo de aire máximos
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