Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

bash: if, test et *

2 réponses
Avatar
julien therier
--0-180379411-1225149778=:61492
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Bonsoir,

Depuis mon arriv=C3=A9e sur Linux, je cherche =C3=A0 me familiariser aux sh=
ell en lieu et place du C.



Je cherche =C3=A0 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=C3=AAme =
racine existent:

----------

code

----------

if [[ -f /tmp/fichier.* ]]

then echo "Il existe d=C3=A9j=C3=A0 une/des copie/s de ce fichier"

exit -1

fi

----------



un ls /tmp/fichier.* marche:

fichier.5678 fichier.6782 fichier.9854



un test sur le nom entier des fichiers =C3=A9galement:

[[ -f /tmp/fichier.6782 ]] ; echo $?


0



Mais rien pour ce que je recherche. Une id=C3=A9e?



Merci d'avance



Julien=0A=0A=0A
--0-180379411-1225149778=:61492
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<table cellspacing=3D"0" cellpadding=3D"0" border=3D"0" ><tr><td valign=3D"=
top" style=3D"font: inherit;">Bonsoir,<br><br>Depuis mon arriv=C3=A9e sur L=
inux, je cherche =C3=A0 me familiariser aux shell en lieu et place du C.<br=
>
<br>
Je cherche =C3=A0 faire un truc tout simple en bash mais pourtant je butte =
depuis des heures sans trouver de solution.<br>
<br>
Je veux programmer une boucle qui teste si des fichiers ayant la m=C3=AAme =
racine existent:<br>
----------<br>
code<br>
----------<br>
if [[ -f /tmp/fichier.* ]]<br>
then echo "Il existe d=C3=A9j=C3=A0 une/des copie/s de ce fichier"<br>
exit -1<br>
fi<br>
----------<br>
<br>
un ls /tmp/fichier.* marche:<br>
fichier.5678 fichier.6782 fichier.9854<br>
<br>
un test sur le nom entier des fichiers =C3=A9galement:<br>
[[ -f /tmp/fichier.6782 ]] ; echo $?<br>
0<br>
<br>
Mais rien pour ce que je recherche. Une id=C3=A9e?<br>
<br>
Merci d'avance<br>
<br>
Julien</td></tr></table><br>=0A=0A=0A=0A
--0-180379411-1225149778=:61492--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

2 réponses

Avatar
Edi Stojicevic
* Edi Stojicevic [2008-10-28 08:44:10 +0000 ] wrote :

[..]
Ma solution en utilisant un array et en vérifiant chacune des fichier s :

#!/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 !



Au fait, il existe une liste de diffusion dédiée à la programmation en
shell :

http://debianworld.org/shellscript-fr

@+
--
. ''`. (___/) E d i S T O J I C E V I C
: :' : (='.'=) http://www.debianworld.org
`. `~' (")_(") GPG: 0x1237B032
`-

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Edi Stojicevic
* julien therier [2008-10-27 23:22:58 +0000] wrot e :

Bonsoir,



Salut,

Depuis mon arrivée sur Linux, je cherche à me familiariser aux shel l 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
`-

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact