Академический Документы
Профессиональный Документы
Культура Документы
let
FUNCIONES
Definicin:
function nombre_funcin {
lneas de la funcin
}
variables locales (solo en bash y ksh)
function saludo {
local NOMBRE="jose"
echo "Hola $NOMBRE"
}
ESTRUCTURAS CONDICIONALES
IF
if [ expresin1 ]; then
realizar si expresin1 es verdadera
elif [ expresin2 ]; then
realizar si expresin1 es falsa, pero es verdadera expresin2
elif [ expresin3 ]; then
realizar si exp1 y exp2 son falsas, pero es verdadera expresin3
else
realizar si todas las expresiones anteriores son falsas
fi
-comparacion de cadenas.
-comparacion alfanumerica
-test (entre corchetes) $if test -f fich;
Test Ficheros
[ -f fichero ] : cierto si el fichero existe
$if [ -f fich ] ;
[
[
[
[
[
-x
-r
-w
-d
-s
fichero ] : cierto si
fichero ] : cierto si
fichero ] : cierto si
directorio ] : cierto
fichero ] : cierto si
el
el
el
si
el
(enteros):
si los dos nmeros son iguales
si los dos nmeros son distintos
si num1 mayor que num2
si num1 mayor o igual que num2
si num1 menor que num2
si num1 menor o igual que num2
done
-break, break n, continue, continue n y exit n.
ESTRUCTURAS ITERATIVAS WHILE UNTIL
while [ expresin ]; do
estas lneas se repiten MIENTRAS la expresin sea verdadera
done
Ejemplo:
while [ $NUMERO -ne 0 ]; do
instrucciones
done
until [ expresin ]; do
estas lneas se repiten HASTA que la expresin sea verdadera
done
Ejemplo:
until [ $NUMERO -eq 0 ]; do
instrucciones
done
ESTRUCTURA SELECT
#!/bin/bash
select OPCION in Chiste Refrn Proverbio Salir; do
if [ $OPCION = Chiste ]; then # quedara ms mono con case claro
echo Van dos por la calle y se cae el de en medio
elif [ $OPCION = Refrn ]; then
echo Quien cra cuervos tendr muchos
elif [ $OPCION = Proverbio ]; then
echo Ten cerca a tus amigos, y mucho mas cerca a tus enemigos
else
# Ha escogido Salir
break
fi
done
PARAMETROS
$1 Devuelve el 1 parmetro pasado al script o funcin al ser llamado.
$2 Devuelve el 2 parmetro.
$3 Devuelve el 3 parmetro. (Podemos usar hasta $9).
${10} tambin es vlido.
$* Devuelve todos los parmetros separados por espacio.
$# Devuelve el nmero de parmetros que se han pasado.
$0 Devuelve el parmetro 0, es decir, el nombre del script o de la funcin.
VALORES DEVUELTOS:
$?
DEPURACION DE SCRIPTS
set -x
set -v
CAPTURA DE SEALES
- trap "echo 'seal captada, continuo la ejecucion del guion' " 1 2 15
Captura las seales CTRL-X (1), CTRL-C (2) o KILL (15).
Ampliacin:
http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/index.html