Voilà, j'espère que je me suis pas trompée de sous forum.
Dans le cadre de mes cours je dois faire un script pour un tp.
voici l'énoncé:
"Créer un fichier de commandes com2 exécutable par tous les membres de votre groupe. Ce fichier de commandes com2 :
1. prend un et un seul paramètre et teste qu’il s’agit bien d’un répertoire. Dans le cas contraire,un code erreur est retourné.
2. crée sous votre répertoire d’accueil un répertoire de nom "anmoisjour" (050428 pour le 28 avril 2005) après avoir vérifié qu’un tel répertoire n’existe pas.
3. recopie les fichiers fich1, fich2 ...fich5 du répertoire passé en paramètre dans ce nouveau répertoire puis les enlève du répertoire origine.
4. Crée, sous votre répertoire d’accueil :
– un fichier de nom fich-concat.numero-du-processus-courant dans lequel se trouvera
le contenu concaténé des fichiers fich1, fich2 ...fich5.
– un fichier de nom nom-de-la-commande.numero-du-processus-courant contenant les
noms des fichiers traités.
Bien entendu, "numero-du-processus-courant" et "nom-de-la-commande" sont remplacées par leur valeur dans les noms de fichiers."
Voici ce que j'ai codé pour le moment:
#! /bin/bash
if [ ! -d "$1" ]
then exit 1;
fi
anmoisjour=`date +%y%m%d`;
if [ -d "$anmoisjour" ]
then rmdir $anmoisjour;
fi
mkdir $anmoisjour;
for a in `ls $1`
do exec mv $a /$anmoisjour/$a;
exec cat $a >> fich-concat.$$;
done
Et voici en exclusivité le superbe message d'erreur que j'obtiens:
mv: impossible d'évaluer « 1kjlljh »: Aucun fichier ou dossier de ce type
Alors plusieurs choses:
- pourquoi ai-je un message d'erreur que pour un des fichiers?
- comment débugger mieux un script bash? (des astuces, des trucs à savoir)
- et bien sur avez-vous une idée sur ce qui pourrait bugger dans mon script?
Voilà merci de m'avoir lu

-
freeGeek
- Messages : 7