Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/05/2012, à 17:23

D3XT3R

Script pour trier la musique

Bonjour à tous,

Ce script me permet d'envoyer la musique que j'ai sur mon ordinateur principal vers mon ordinateur portable, il demande le fichier/dossier à envoyer et enfin l'artiste enfin il envoie via SCP
Ca marche, néanmoins j'ai quelques questions.

#!/bin/bash

boucle=1
while [ $boucle = 1 ]
do
echo ""
echo ""
echo ""
echo "Voici les fichiers/dossiers du dossier en cours :"
echo ""
ls -1 --group-directories-first --color
echo ""
echo ""
read -p 'Lequel envoyer ? : ' fichier
read -p 'Ou envoyer le fichier/dossier : ' dossier
echo ""

testdossier=`grep "$dossier" /media/backup/Musique/Full/list|wc -l`  #le fichier "list" contient le nom de tous les dossiers disponible dans le dossier Musical.
dos="\"$dossier\"" #Pour éviter d'être embêter avec les noms de fichiers composés 


if [ $testdossier = 0 ]
then
read -p "Désolé le dossier n'existe pas"
else
read -p "D'accord donc nous allons l'envoyer dans : /Musique/Full/$dos ?" ans
if [ $ans = "y" ] || [$ans = "Y" ]
then
echo ""
echo ""
scp -r "$fichier" dexter@ip:/Users/Dexter/Music/Full/"$dos"/ && rm -rv "$fichier"
else
echo "BUG !"
fi
fi
done

J'aimerais optimiser mon script via plusieurs choses :

1) Dans la fonction "lequel envoyer" ? La possibilité de taper le nom et de faire une tabulation avec les dossiers/fichiers disponibles dans le dossier à trier

2) Si le dossier n'existe pas sur l'ordinateur distant, demander à le créer et le créer, néanmoins je ne sais pas comment effectuer cette action directement sur l'ordinateur distant.

3) Lancer un autre script à la fin de celui-ci lorsque j'ai tout envoyé, juste avant de quitter ?

4) D'autres idées sympa ?

Edit : 5) Comment faire pour qu'il ne demande pas le mot de passe sudo à chaque fois ? Sur le PC hôte et le PC distant ?


Merci à vous.

Dernière modification par D3XT3R (Le 02/05/2012, à 18:09)

Hors ligne

#2 Le 02/05/2012, à 17:48

pingouinux

Re : Script pour trier la musique

Salut,

Question 3 :
À la fin du script :

/chemin_vers_le_nouveau script_ a_lancer/nouveau_script_a_lancer

Question 4 :

testdossier=`grep "$dossier" /media/backup/Musique/Full/list|wc -l`  #le fichier "list" contient le nom de tous les dossiers disponible dans le dossier Musical.
if [ $testdossier = 0 ]

peut être remplacé par :

if ! grep -qw "$dossier" /media/backup/Musique/Full/list

Sans -w, si on teste par exemple mon_dossier, et qu'il existe mon_dossier_a_moi, le test sera vérifié.

Dernière modification par pingouinux (Le 02/05/2012, à 17:49)

Hors ligne

#3 Le 02/05/2012, à 17:51

D3XT3R

Re : Script pour trier la musique

C'est sympa j'ai changé pour le 4 impeccable mais pour le 3, comment je peut faire car j'ai une boucle infinie ?

Hors ligne

#4 Le 02/05/2012, à 17:56

pingouinux

Re : Script pour trier la musique

Ôte-moi d'un doute : tu ne rappelles quand même pas le même script ?
Sinon, à quel niveau se situe la boucle infinie ? Si c'est dans le premier, l'appel du second n'est pas en cause. Si c'est dans le second, c'est là qu'il faut regarder.

Édité : Si la variable boucle n'est pas modifiée dans la boucle, on n'est pas près de s'arrêter.

Dernière modification par pingouinux (Le 02/05/2012, à 18:00)

Hors ligne

#5 Le 02/05/2012, à 18:07

D3XT3R

Re : Script pour trier la musique

Finalement, j'ai trouver une nouvelle solution je vérifie le contenu du dossier à trier, lorsqu'il est vide, je ferme et donc exécute le script smile

Hors ligne