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 11/08/2008, à 21:05

alexis57

Variable dans un SH ?

Bonjour,
je voudrais savoir comment faire pour transmettre une variable quand on lance un SH.
Je voudrais vérifier, réparer et extraire et supprimer d'une traite un fichier rar.
donc je fais un tout.sh que je lancerais avec ./tout.sh.
Mais je voudrais mettre une variable dans le .sh pour que quand je fasse : ./tout.sh fichier_par2 fichier_rar ou ./tout.sh fichier_rar_et_par2_de_même_nom ou une commande du genre.
C'est dur a expliquer.
Si quelqu'un a compris...
Merci smile

Hors ligne

#2 Le 11/08/2008, à 22:07

makidoko

Re : Variable dans un SH ?

Dans ton script tu récupère les arguments via $1, $2 etc...
$# te donne le nombre d'arguments.
$* te donne tous les arguments.

Une boucle du genre

for i in $*
do
commande_x_sur $i
done

te permettra d'appliquer en séquence le même traitement à chaque argument de ta commande.

Dernière modification par makidoko (Le 11/08/2008, à 22:09)


N'oubliez pas: Smiley Tox nouvelle formule, avec de vrais morceaux de vocabulaire pour une prose toujours plus riche.
En savoir plus ou moins, c'est selon, sur http://makidoko.blogspot.com/

Hors ligne

#3 Le 12/08/2008, à 08:56

alexis57

Re : Variable dans un SH ?

donc pour la commande : "./commande.sh banane courgette"
mon fichier sera :
for fruit in $1
for legume in $2
do
par2 r $fruit* // je met le * pour prendre en compte ce qu'il y a après donc le .par2
unrar x $courgette* // de même pour le .rar
done

Hors ligne

#4 Le 12/08/2008, à 12:54

alexis57

Re : Variable dans un SH ?

????

Hors ligne

#5 Le 12/08/2008, à 14:10

Autiwa

Re : Variable dans un SH ?

non.

Ici, tu as :

echo $1
banane
echo $2
courgette

Tout simplement. La commande donnée plus haut par makidoko te permettait de traiter quand tu ne connais pas le nombre de variable, ce qui est pratique aussi.

[edit]
De plus, tu as un problème de programmation, ça n'a donc rien à voir avec la bureautique wink
[/edit]

Dernière modification par Autiwa (Le 12/08/2008, à 14:11)


Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.

Hors ligne

#6 Le 12/08/2008, à 14:45

alexis57

Re : Variable dans un SH ?

Ah ok, en fait il n'y aura que 2 variables donc $1 et $2.
Je vous remercie tout les 2 !!!
Je comptais aussi faire une commande pour la lancer n'importe ou dans le shell en créant le fichier dans "/bin/"

Hors ligne

#7 Le 12/08/2008, à 14:49

Autiwa

Re : Variable dans un SH ?

Méfie toi, si tu fais ça, et que tu réinstalle ton système, tu perdra ton fichier (quoi du vécu?). Pour ma part, j'ai créé un dossier bin dans mon home, et du coup, je lance la commande en faisant :

~/bin/commande option

Comme ça, vu que mon /home est sur une partition séparée, je peux réinstaller mon système et avoir toujours ces fichiers là, sans me poser de questions, et sans passer 3 heures à tout remettre comme avant.


Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.

Hors ligne

#8 Le 12/08/2008, à 14:54

alexis57

Re : Variable dans un SH ?

Oui lol j'ai l'habitude, tous les fichiers config sont stocké sur mon PC avec les fichiers SH  smile
J'aurais juste à transférer les fichiers et un petit fichier SH qui exécute les "chmod +x" sur chaque fichier smile
C'est le systeme D lol
C'est justement pour pas avoir une ligne trop longue pour exécuter la commande que je veux le mettre dans bin smile
Merci pour tes précisions Autiwa smile

Dernière modification par alexis57 (Le 12/08/2008, à 14:55)

Hors ligne