[bash] syntaxe incorrecte pour paramètre de md5sum
	
	
		Bonjoir.
Je rencontre de grandes difficultés à utiliser md5sum avec un paramètre variant.
Voici le code (inachevé) en entier, mais seule la ligne 45 pose problème :
md5sum -b `"$target"_"$numFiles"_"parts.*"`
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 
 | #!/bin/bash
 
   # Déclaration de la taille de découpage SIZE et du répertoire de sélection de fichier initial PATH_INITIAL,
   # ATTENTION il est impératif de ne pas utiliser d'espaces avant ou après le signe d'affectation '=', sinon le script ne s'éxécutera pas correctement,
   # car il y aura une erreur de syntaxe, c'est une caractéristique intrasèque du bash.
   # La casse n'est pas pris en compte et vous pouvez utilisez indifféremment les préfixes SI ou binaire, consultez http://fr.wikipedia.org/wiki/Octet
   # pour plus d'informations à ce sujet, veuillez noter que je me suis arrêté au giga, mais libre à vous d'éditer le code si vous avez besoin d'une
   # unité plus grande (wtf ?).
 
   # ATTENTION, SEULS LES NOMBRES ENTIERS SONT ACCEPTÉS et il faut au moins 1 espace entre l'entier et le préfixe
 
   SIZE='333 o'
 
   # Cette valeur change à chaque fois pour le dernier dossier qui a été sélectionné, il n'est donc pas vraiment utile de lui donner une valeur manuellement
   # Mais ce n'est pas encore implanté (zenity n'est pas suffisant pour cela et d'autres choses que je voudrais implanter)
 
   PATH_DEFAULT=""                                                
 
   # Script proprement dit, n'éditez pas le code en dessous de cette ligne sans savoir ce que vous faites
 
   # Note personnelle : bash ne supporte pas les fonctions vides, au moins mettre true si on prévoit d'écrire le contenu de la fonction plus tard,
   # même combat pour les if et probablement bien d'autres structures (toutes ?)
 
   Cut() {
 
      [ ! -e "$target" ] && exit # boite de dialogue fermée, pas de fichier sélectionné.
 
      local -i i=`stat -c %s "$target"`
 
      if (( i<$size )); then
         zenity --info --text="Le fichier n'a pas besoin d'être découpé"
         exit
      fi
 
      # on détermine combien de fichiers il va falloir créer.
 
      declare -i last_size=i%size
      declare -i numFiles=i/size
      (( last_size>0 )) && (( numFiles++ ))
 
      # on découpe le fichier
 
      split --bytes=$size -d "$target" "$target"_"$numFiles"_"parts."
 
      md5sum -b `"$target"_"$numFiles"_"parts.*"`
 
   }
 
   Paste() {
      true
   }
 
   SelectFile() {
   # creation boite de dialogue de sélection de fichier
 
      target=`zenity --file-selection --title="Sélectionner un fichier à $1"`
 
   }
 
   [ ! -e PATH_DEFAULT ] && PATH_DEFAULT=`pwd` # si dossier inexistant : affectation au dossier courant
 
   # on s'affranchit de la casse en mettant tout en minuscule
 
   SIZE=${SIZE,,}
 
   # extraction de la taille et du préfixe utilisé
 
   set $SIZE
 
   # transformation en octets selon le préfixe utilisé
 
   declare -i i
 
   case $2 in
 
      o) i=1 ;;
      ko) i=10**3 ;;
      mo) i=10**6 ;;
      go) i=10**9 ;;
 
      kio) i=2**10 ;;
      mio) i=2**20 ;;
      gio) i=2**30 ;;
 
      *) # prefixe invalide
 
   esac
 
   declare -i size=$1*i
   unset i
 
   # creation boite de dialogue de saisie
 
   operation=`zenity \
   --entry \
   --title="Choisir une opération" \
   --text="Ecrire C pour couper et P pour coller :"`
 
   operation=${operation,,} # on force le string en minuscule, pour ignorer la casse
 
   case $operation in
 
      c) SelectFile "couper" ; Cut ;;
      p) SelectFile "coller" ; Paste ;;
      *) # operation invalide
 
   esac
 
   sleep 5 | 
 Pourquoi l'emploi de `` ?
Parce que j'ai cru comprendre qu'en gros cela remplace les expressions par leur résultat, et comme j'ai la même erreur si j'utilise comme paramètre une constante (chemin écrit à la main) avec "", mais que c'est correct sans "", je me suis dit que c'était peut être la solution à mon problème.
Comme vous l'avez probablement deviner je suis novice en la matière, c'est mon premier essai en bash, soyez indulgents et j'accepte volontiers toute critique constructive.
A propos de zenity, c'est peut être pas forcément adapté ici mais je voulais simplement essayer cet outil.
Je précise que dans mon chemin absolu il n'y a pas d'espaces (j'ai renoncé pour l'instant à supporter les fichiers avec un nom d'espace dans leur nom, car je galère beaucoup trop à trouver les syntaxes adéquates)
Quelle serait donc la syntaxe appropriée ?
Sinon, y'a moyen de travailler sur un fichier que split a créé dès qu'il a été créé ? (et non après que tous ont été créés).
J'ai essayé avec un pipeline | , mais cela n'avait pas d'effet.
Merci d'avance.