OVH Cloud OVH Cloud

marche pas mon script

3 réponses
Avatar
thierry rouillon
Je veux vérifier la presence de certain fichiers: Tous ceux qui commence par
"prefere"
if [ -a /mon/fichier/prefere* ]
En réponse j'ai "too many argument"
Comment faire ? Merci.
--
Thierry de champagne
Le pays où les bulles font la fête

3 réponses

Avatar
ericb
thierry rouillon a écrit:
Je veux vérifier la presence de certain fichiers: Tous ceux qui commence par
"prefere"
if [ -a /mon/fichier/prefere* ]
En réponse j'ai "too many argument"


C'est normal...s'ily a plusieurs réponses, car le test n'en demande
qu'une seule.

Comment faire ? Merci


Si tu veux utiliser un petit script (en supposant que j'ai bien compris
le titre de ta question ) :


Exemple 1)

N.B. : read permet d'entrer "fichier" qui désigne
le nom du fichier avec chemin absolu ou relatif


#! /bin/bash
read fichier
if [ -e $fichier ] && [ -f $fichier ]; then
echo "ce fichier existe"
else
echo "existe pas"
fi

Exemple 2)


#! /bin/bash
if [ -e $1 ] && [ -f $1 ] ; then
echo "ce fichier existe"
else
echo "existe pas"
fi

Le second s'utilise de la manière suivante :
soit *script* le nom de ce script. chmod u+x script pour le rendre
exécutable, ensuite, il faut taper :

./script fichier_cherché ( $1 désigne le 1er argument passé au script,
ci fichier_cherché)

La réponse apparaît après appui sur entrée...


P.S. : la solution que je propose est loin d'être la meilleure, et il y
a une infinité de solutions possibles. Par ailleurs, le forum
fr.comp.os.unix me semble plus adapté pour ce type de questions.


--
NO ePATENTS / NON AUX BREVETS SUR LES LOGICIELS. See / Voir
http://swpat.ffii.org/

eric bachard

Avatar
Xes
Je veux vérifier la presence de certain fichiers: Tous ceux qui commence
par

"prefere"
if [ -a /mon/fichier/prefere* ]
En réponse j'ai "too many argument"
Comment faire ? Merci.


En fait c'est pas très logique ce que tu veux faire ...
Tu veux vérifier la présence de plusieurs fichiers sans en connaitre leur
nom ??

Bon tu peux chercher si il existe un fichier qui commence par "prefere" en
tapant ceci :

if [ `ls|grep ^prefere|wc -l` -gt 0]

Ca aura pour effet de compter le nombre de fichier qui commence par
"prefere".
Dans le cas où ce nombre trouvé serait plus grand que 0 alors executer ce
qui suit ...

J'espère que j'ai bien compris la question ...

Avatar
thierry rouillon
"Xes" a écrit dans le
J'espère que j'ai bien compris la question ...

Oui, c'est ça. Merci.


--
Thierry de champagne
Le pays où les bulles font la fête>