Apunte de programación en bash Variables Entradas/Salidas (I/O)

el comando cat: #!/bin/bash cat
45KB Größe 7 Downloads 137 Ansichten
Apunte de programación en bash Variables Asignación:

La asignación de variables se realiza simplemente indicando su nombre, un signo =, y el valor, como en el siguiente ejemplo: nombre=”Luis” Valor:

El valor de una variable se toma anteponiendo un signo $ al nombre, así si queremos imprimir el valor de la variable nombre que creamos antes: echo $nombre

Entradas/Salidas (I/O) La entrada salida puede manejarse con los comandos echo y read: echo $variable echo -n “Esto no imprime un carácter nueva línea al final” read ciudad read ciudad calle nro Este último ejemplo lee 3 valores desde el teclado, tomando como separador el estándar definido para el shell (usualmente el espacio). Los valores van a las variables que se están leyendo ($ciudad, $calle y $nro). Si se desea dirigir a pantalla múltiples líneas de texto, puede utilizarse un truquito con el comando cat: #!/bin/bash cat /dev/null' es para evitar la salida del grep por pantalla.

Página 3 de 5

Condicionales y ciclos if ... then ... else ... fi

if test “$nombre” = “Luis” then echo “Hola Luis” else echo “Fuera de aquí!” fi &&

(permite un if...then rápido, en realidad es un AND lógico) test “$nombre” = “Luis” && echo “Hola Luis!” ||

(similar al anterior pero para el caso falso, en realidad es un XOR lógico) test “$nombre” = “Luis” || echo “Ud. no es Luis!” case ... in ... esac

case $nombre in Luis) echo “Hola Luis, como va todo?” ;; Carlos) echo “Hola Carlos!” ;; Pepe) echo “Despertate Pepe!!!” ;; *) echo “no tengo idea de quién es Ud.” esac while ... do ... done

nombre=”Lorenzo” while test “$nombre” = “Lorenzo” do echo -n “Ingrese su nombre, Lorenzo es inaceptable: “ read nombre done until ... do ... done

until test “$nombre” = “Lorenzo” do echo -n “Ingrese su nombre, Lorenzo es inaceptable: “ read nombre

Página 4 de 5

done for ... in ... do ... done

for nombrearchivo in *html do echo -n “El archivo: $nombrearchivo contiene “ wc -l $nombrearchivo done Ese programa recorre todos los archivos con extensión html en el directorio actual, y cuenta las líneas en cada uno de ellos.

Cómo evitar que salgan falsos positivos en el grep ps aux | grep httpd | grep -v grep > /dev/null El ps aux lista todos los procesos. El primer grep filtra todas las líneas que contienen httpd, pero por desgracia baja la línea grep httpd que estamos ejecutando. Por esto el segundo grep inverso, para mostrar las líneas que no contienen la palabra grep. Finalmente enviamos todo a /dev/null para evitar que salga por pantalla.

Página 5 de 5