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 28/08/2006, à 15:50

Deltau

[Script]Vider un répertoire dans un autre.

Bon, c'est mon tout premier post et mon tout premier script en fait... Je suis total débutant (linux ET bash), mais je me suis dit que ce serait cool de faire une petite fonction qui vide un répertoire dans un autre (je l'utilise par exemple pour vider le répertoire Incoming de aMule dans mon répertoire Archives) :

function tp ()  {  # tp pour transporte, admet deux répertoires comme arguments
cd $1
for i in *.*
do mv $i $2
done
}

Là je l'ai inséré comme ça dans mon bash (et en fait je sais pas ce que je pourrais en faire d'autre... avec un #!/bin/bash/ et puis je le met où pour qu'il le traite comme une fonction à part entière ?)

Je ne sais pas si ça pourra servir un jour à qqun, mais
- je suis fier de l'avoir écrit ^^
- je suis jaloux de tous ces gens qui publient des trucs et astuces pour aider les autres   wink


Dites-moi ce que vous en pensez !

Hors ligne

#2 Le 28/08/2006, à 16:18

loutre

Re : [Script]Vider un répertoire dans un autre.

Bah bravo pour ton premier script, je t'encourage à continuer.

Mais...
N'est-ce pas le marteau piqueur pour écraser la mouche ? wink
Un simple

mv repertoire1/* repertoire2

ne suffit-il pas ?


=°.°=
J'ai éprouvé l'irrésistible désir d'aller porter ma jeune existence au-delà de l'horizon, là où l'espace et le vent offrent à l'homme une dimension que je voyais comme une éternité palpable. Mes blogs [url=http://[Merci de relire les règles]/d6wsyxp]au Tchad[/url], vers Compostelle.

Hors ligne

#3 Le 30/08/2006, à 10:37

Deltau

Re : [Script]Vider un répertoire dans un autre.

Euh on dirait que si tongue... Sinon il y a un autre moyen que le mettre dans ~/.bashrc ?

Hors ligne

#4 Le 30/08/2006, à 17:13

jdloic

Re : [Script]Vider un répertoire dans un autre.

Tu peut créer un fichier dans /usr/local/bin et y mettre ton script (sans la déclaration de la fonction),
Il doit commencer par: "#!/bin/sh" (c'est un commentaire) pour que Linux sache avec quel interpréteur lancer ce script (en l'occurence /bin/sh).
Il faut préciser que ce fichier peut être executer : chmod +x <fichier>
Ensuite on l'appelle comme n'importequelle commande.

Par contre pour ton script, ce qui me gène, c'est que tu fais un CD et donc tu changer le répertoire de l'utilisateur sans le remettre comme il était avant.
Tu aurais pu faire "for i in $1/*" sans faire de CD.

Ensuite, dans ton cas les 2 répertoires en paramètre sont indispensable il faut donc vérifier qu'ils sont bien renseigné et sont bien des répertoires.

Dernière modification par jdloic (Le 30/08/2006, à 17:14)

Hors ligne