Josep Garcia

shell

Bash Scripting, ejemplo con arrays

### fichero lenguajes.sh
#!/bin/bash
arr=( "espanyol#hola" "ingles#hello" "frances#bonjour")
len=${#arr[*]}
i=0
while [ $i -lt $len ]; do
lenguaje=$(echo ${arr[$i]} | cut -d"#" -f1 2>/dev/null)
if [ "$lenguaje" == "$1" ]; then
echo ${arr[$i]} | cut -d"#" -f2
fi
i=$(expr $i + 1)
done

$ sh lenguajes.sh espanyol
hola
$ sh lenguajes.sh ingles
hello

Parsear parámetros en bash

Queremos obtener todos los parámetros pasados a un script, las opciones disponibles serán "-a" y "-b":
Ejemplo: ./parsear.sh -a param1 param2 paramN -b param1 param2 paramN

Una opción es usar la función "getopts":

while getopts "a:b:" OPTION;
do
case $OPTION in
a)
echo "OPTION is a"
echo "parametros A= $OPTARG"
;;
b)
echo "OPTION is b"
echo "parametros B= $OPTARG"
;;
esac
done

Categorías

LinuxAndroidBash ScriptingDrupal

Twitter

Twitter Josep Carlet