mercredi 20 juin 2018

la estructura for en shell




la estructura for en shell
  • for i in LIST  : i representa la variable a repetir en  cada  iteracion de LIST
  • do COMMANDES :representa los comandos a ejecutar 
  • done : indica el fin del boucle for

para nuestro ejemplo usaremos dos matriz

#creation d'un  tableau de type chaine de caractères
montab=("val1" "val2" "val3" "val4");
#creation d'un tableau des types multiple
montab2=("zero" 1 `pwd` 3);


Ejemplo de uso de la structure for

#nombre des éléments
NOMELEMT=${#montab[@]}
printf "le nombre des elements sur le tableau est=${NOMELEMT} \n"

  • ${#montab[@]} : sintaxis que recupera la cantidad total de elementos en una matriz


#iteration for 1
for i in ${montab[@]};
do 
printf "$i \n\n";
done;
  • imprimir el contenido de cada element  del array montab
  • printf "$i \n\n": uso de dos espacios \n entre cada iteracion

echo "iteration2"
#iteration 2
for i in ${montab2[*]};
do 
printf "result=$i \n";
done;

  • ${montab2[*]}  manera alternativa de recuperar el numero total de elemntos del array montab2

resultado de le script






forma 2
la estructura for puede utilisarse en una forma simplificada , recuperando los elementos de iteracion directamente de la consola


Ejemplo3
#!/bin/bash
#affichage des valeurs recuperées de la console
#iteration 1
echo "iteration1"
for i 
do 
printf "la valeur passé en paramètre est = $i \n\n";

done;


  • for i : al no estar declarada  , el valor de i sera el conjunto de elementos  pasados en parametro desde la consola
  • do COMMANDE :ejecucion iterativa del comando deseado
  • done; 

Result:
el resultado de la ejecution  ./forex2.sh zero un 2 3 esta compuesto de 4 elementos guardados en una especia de array  i , que sera iterada:





Otros ejemplos


#!/bin/bash
#affichage des tous les utilsateurs du systeme
compgen -u
#iteration 1
echo "start boucle"
for i in "$@"
do
printf "le utilisateur est "
id -u "$i"
done;


  • for i in "$@" : permite recuperar la totalidad de argumentos pasados en parametro en la variable i
  • compgen -u : permite listar todos los utilisadores del systema
  • "$@": permite aceptar espacion como parametro de entrada
resultado 









Aucun commentaire:

Enregistrer un commentaire