Script bash qui parcoure les repertoire
prdnx
Messages postés
5
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voici mon script je voudrais savoir ou ce trouve l'erreur de syntaxe :
#!/bin/bash
if [ $# -ne 1 ]
then
echo Usage : $0 dossier
exit 1
elif [ -f $1 ]
then
echo "erreur : l'argument saisi n'est pas un dossier"
exit 1
for i in "$1"/*/**/***
do
if test [ -f "$i" ]
then
./projet.sh "$i"
fi
fi
done
ça me dit: ligne 18 erreur de syntaxe fin prematuré
j'aimerai savoir ou est le probleme
Merci d'avance
Voici mon script je voudrais savoir ou ce trouve l'erreur de syntaxe :
#!/bin/bash
if [ $# -ne 1 ]
then
echo Usage : $0 dossier
exit 1
elif [ -f $1 ]
then
echo "erreur : l'argument saisi n'est pas un dossier"
exit 1
for i in "$1"/*/**/***
do
if test [ -f "$i" ]
then
./projet.sh "$i"
fi
fi
done
ça me dit: ligne 18 erreur de syntaxe fin prematuré
j'aimerai savoir ou est le probleme
Merci d'avance
2 réponses
-
salut !
Essaie de supprimer ta virgule dans le echo, elle n'est pas prise comme un simple caractère. -
Salut,
#!/bin/bash if [ $# -ne 1 ] then echo Usage : $0 dossier exit 1 elif [ -f $1 ] then echo "erreur : l'argument saisi n'est pas un dossier" exit 1 fi for i in "$1"/*/**/*** do if test [ -f "$i" ] then ./projet.sh "$i" fi done
-
Merci pour correction. j'ai reussi à faire un script qui parcourre un repertoire donné en argument et copie tout les fichier qui s'y trouve dans le repertoire SAVE:
#!bin/bash
if [ $# -ne 1 ]
then
echo usage : $0 dossier
exit 1
elif [ -f $1 ]
then
echo " Erreur : l'argument saisi n'est pas un dossier"
exit 1
fi
for i in "$1"/*/**/***
do
cat $1/*/**/*** >> ~/SAVE/save.txt
echo "Sauvegarde réussie"
done
Seulement voila, le scripte n'etant pas récursif, il ne fonctionnera pas pour les sous-sous-sous-sous....répertoires
Je voudrai donc savoir le mettre en recursivité
ps:comment utiliser la balise code sur ce forum? -
#!/bin/bash
shopt -s globstar
if [ $# -ne 1 ]
then
echo Usage : $0 dossier
exit 1
elif [ -f $1 ]
then
echo "erreur : l'argument saisi n'est pas un dossier"
exit 1
fi
for i in ${1}/**
do
if test [ -f "$i" ]
then
./projet.sh "$i"
fi
done
Pour les balises il y a le pictogramme <>.
Sinon :
<code sh >
#!/bin/bash
if [ $# -ne 1 ]
then
...</code>
Donne :#!/bin/bash if [ $# -ne 1 ] then ...
-
-
-
-