[gull] truc et astuce: Utiliser des array de 1 element pour encadrer les boucles

Félix Hauri felix at f-hauri.ch
Mon Feb 23 17:48:01 CET 2004


Dans la série bash (ver >= 2.04)

Pour répéter une commande en spécifiant des arguement pour la première et
pour la dernière opération:

#! /bin/sh
first=-first
unset nfirst
last=-last
nlast=-notlast
for (( i=10 ; i-- ;))           # syntaxe sympatique par excellence! ;)
do
   echo cmde ${last[$i]} ${nlast[$((i==0))]} $first $nfirst -permanent
   unset first
   nfirst=-notfirst
   done

Application: la commande ``shred'' ne fonctionnant pas correctement sur
des filesystems journalisés ou raids (cf manpage):

$ a=-u;for ((i=25;i--;));do shred -n1 ${a[$i]} fichier-ou-* ;sync;done

(J'ai failli laisser l'astérisque seule dans mon copier-coller! :-))

--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch




More information about the gull mailing list