Aide de script

[Fermé]
Signaler
-
 Utilisateur anonyme -
Bonjour,

Voilà, petit problème de script, j'essaie de faire un scripts qui me permet de faire un mv de tous les fichier ayant dans leurs noms le 2e argument dans un dossier qui a lui, le premier.
le problème, c'est qu'il ne fonctionne pas sur tous les fichiers.
Quelqu'un peut-il m'aider merci beaucoup.

voici le script

# !/bin/bash

# Se script a pour utiluté de copier tous les fichiers de musique dans un dosier du nom du 1ere argument


if [$# = 2 ]; then

mkdir /media/852B-43D6/musique/$1
mv /media/852B-43D6/musique/*$2* /media/852B-43D6/musique/$1/
else
#affiche un message d'erreur
echo "Ce script doit être lance avec deux arguments"

fi


3 réponses

Messages postés
26
Date d'inscription
mardi 25 octobre 2011
Statut
Membre
Dernière intervention
29 février 2012
53
En rajoutant une espace après le premier crochet, il marche très bien ce script, chez moi en tout cas. Tu as des exemples de fichiers sur lesquels ça n'a pas marché ?
oui, d'est qu'il y a des majuscules ils n'y vont pas

# !/bin/bash 

#if [$# = 2 ]; then 
if [ $# -eq 2 ]; then 
   mkdir /media/852B-43D6/musique/$1 
#   mv /media/852B-43D6/musique/*$2* /media/852B-43D6/musique/$1/ 
   mv -t /media/852B-43D6/musique/$1/ /media/852B-43D6/musique/*$2*
else 
   #affiche un message d'erreur 
   echo "Ce script doit être lancé avec deux arguments"
   exit 1
fi 
pour -eq, regarde le man de bash
pour mv -t, regarde le man de mv