Aide de script

Fermé
maki - 25 oct. 2011 à 21:34
 Utilisateur anonyme - 26 oct. 2011 à 15:08
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


A voir également:

3 réponses

alfrodull Messages postés 26 Date d'inscription mardi 25 octobre 2011 Statut Membre Dernière intervention 29 février 2012 53
25 oct. 2011 à 22:04
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é ?
0
oui, d'est qu'il y a des majuscules ils n'y vont pas
0
Utilisateur anonyme
26 oct. 2011 à 15:08
# !/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
0