Re: bash: if, test et *
* julien therier <berserker_fr@yahoo.fr> [2008-10-27 23:22:58 +0000] wrote :
> Bonsoir,
Salut,
> Depuis mon arrivée sur Linux, je cherche à me familiariser aux shell en lieu et place du C.
>
> Je cherche à faire un truc tout simple en bash mais pourtant je butte depuis des heures sans trouver de solution.
>
> Je veux programmer une boucle qui teste si des fichiers ayant la même racine existent:
>
> ----------
>
> code
>
> ----------
>
> if [[ -f /tmp/fichier.* ]]
>
> then echo "Il existe déjà une/des copie/s de ce fichier"
>
> exit -1
>
> fi
>
> ----------
Ma solution en utilisant un array et en vérifiant chacune des fichiers :
#!/bin/bash
list=( `ls` )
for i in ${!list[@]}
do
if [[ ${list[i]} =~ ^fichier.* ]]
then
echo "il existe une/des copie/s de ce fichier"
fi
done
Ceci marche avec bash 3.2 !
--
. ''`. (\___/) E d i S T O J I C E V I C
: :' : (='.'=) http://www.debianworld.org
`. `~' (")_(") GPG: 0x1237B032
`-
Reply to: