Aide de script

maki -  
 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

  1. alfrodull Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   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é ?
    0
  2. maki
     
    oui, d'est qu'il y a des majuscules ils n'y vont pas
    0
  3. Utilisateur anonyme
     
    # !/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