Shell Scripts
Shell Scripts
4 SHELL SCRIPTS
Ciertos comandos útiles para cuando nos perdamos
ls –-help
Shell Scripts
Entrada y Salida
Entrada Salida
Programa
estándar estándar
Todo programa recibe información por la ENTRADA ESTÁNDAR (usualmente el teclado), y envía
información por la SALIDA ESTÁNDAR (usualmente la pantalla del shell).
Por ejemplo:
ls –l | grep carpeta
Cambiando permisos
$ mivar=‘/etc’
eduardo@ubuntu:~$ mi_text='mundo'
hola mundo
Tambíen podemos poner la variable dentro de llaves, para saber que hacemos
referencia a una variable:
eduardo@ubuntu:~$ mi_text='mundo'
hola mundo
Shell Scripts
Bash Scripting
Ahora que ya conocemos nuestra herramienta (el shell), nos enfocaremos en los
bash scripts.
Cuando necesitamos realizar una tarea que requiere muchos comandos, los
podemos agrupar en un archivo de texto, y luego ejecutarlo en el shell. Todo script
empieza con la siguiente línea:
#!/bin/sh
Por ejemplo, creemos el siguiente script, en el archivo
mi_script.sh:
#/bin/bash
$ chmod +x mi_script.sh
Para ejecutarlo:
$ ./mi_script.sh
Asi como en el shell, las variables se definen así:
NOMBRE=valor
#!/bin/bash
QUIEN=“bash script”
Argumentos
#!/bin/bash
comando1
comando2
#función…
function mostrar_mensaje{
#script principal
mostrar_mensaje
QUIEN="bash"
function mensaje {
local QUIEN_MAS
QUIEN_MAS = "world"
echo "Hello $1"
echo "Hello $QUIEN"
echo "Hello $QUIEN_MAS"
}
mensaje
if [ condicion]; then
comandos
elif [condicion2]; then
comandos
else
comandos
fi indica fin de bloque if
#!/bin/bash
if [ $1 -eq 0 ]; then
echo "hola"
else
echo "chao"
fi
#!/bin/bash
if [ $1 == "bash" ]; then
echo "hola $1"
else
echo "chao $1"
fi
Veamos un ejemplo.
Shell Scripts
#!/bin/bash
While <condicion> ; do
comandos
done
Veamos un ejemplo.
Asumamos que tenemos una carpeta con cuatro archivo
llamados file1, file2, file3 y file4, además de otros archivos y
queremos borrar solo los archivos que empiezan con file
seguidos de un dígito. Podemos entonces:
#!/bin/bash
#!/bin/bash
i=0
while [ $i -lt 4 ];
do
mkdir "dir$i"
((i++))
done
ls -l
Shell Scripts
Entrada y salida
Para leer texto desde el teclado, usamos read, y para imprimir algo en
pantalla, echo. Por ejemplo, el siguiente script lee el teclado e
imprime lo leído en pantalla.
#!/bin/bash
read user_name
echo $user_name
Shell Scripts