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 06/08/2008, à 19:59

friedmann

Executer des ligne de commande automatiquement

Bonsoir à tous. Je suis nouveau sous linux et je souhaiterai executé des ligne de commande automatiquement, je m'explique: par éxemple pour installer xbmc je dois mettre les sources à jour telecharger le logiciel via le gestionaire de paquet  etc.. Ce que j'aimerai c'est écrire ces lignes de commande dans un fichier, le lancer et que lui m'éxecute une après l'autre les action que j'ai écrite. Est ce possible??

#2 Le 06/08/2008, à 20:02

twinsen93

Re : Executer des ligne de commande automatiquement

Oui. Sur la première ligne tu mets

#!/bin/bash

et tu rends le fichier exécutable.

Avec ca, tu fais un script bash. La doc (bon courage pour la lire) est dans

man bash

.

Ca marche avec d'autres shells, en fait ca marche avec tout ce que tu veux, ce qui est après le #! sera exécuté en lui ajoutant le nom du fichier.

Dernière modification par twinsen93 (Le 06/08/2008, à 20:11)

Hors ligne

#3 Le 06/08/2008, à 20:03

®om

Re : Executer des ligne de commande automatiquement

Oui, tu les écris dans un fichier qui commence par

#!/bin/sh

Ensuite tu fais chmod +x tonfichier
et tu l'exécutes : ./tonfichier

Hors ligne

#4 Le 06/08/2008, à 20:14

harolddumur

Re : Executer des ligne de commande automatiquement

Salut mec,

tu fais comme rom dit entre autre mais oublie xbmc le mieux c'est elisa media center moi je contrôle tout avec ma wiimote big_smile.

Peace
En plus pas besoin de script bash

uuunh0.png

Hors ligne

#5 Le 06/08/2008, à 20:18

friedmann

Re : Executer des ligne de commande automatiquement

Je peut aussi lancer xbmc sans script mais j'en ai besoin pour me permettre en cas de formatage de tout réinstaller sans faire un geste. J'ai encore quelque question: Si  je mets plusieur action va t'il attendre que chaque action soit fini pour passer à une autre ou les execute t'il tous en meme temps. Et comment m'enregistrer en tant que super utilisateur automatiquement?

#6 Le 06/08/2008, à 20:25

®om

Re : Executer des ligne de commande automatiquement

friedmann a écrit :

Si je mets plusieur action va t'il attendre que chaque action soit fini pour passer à une autre ou les execute t'il tous en meme temps.

Une par une :

action1 puis action2, toujours :

action1; action2
action1
action2

action1 puis action2, seulement si action1 a réussi

action1 && action2

action1 puis action2, seulement si action1 a raté

action1 || action2

En parallèle :

action1 en parallèle de action2

action1 & action2

action1 en parallèle de action2, avec branchement de la sortie standard de action1 sur l'entrée standard de action2 (pipe) :

action1 | action2

Et comment m'enregistrer en tant que super utilisateur automatiquement?

automatiquement, c'est beaucoup dire !

sudo ./tonfichier

Hors ligne

#7 Le 06/08/2008, à 20:30

harolddumur

Re : Executer des ligne de commande automatiquement

Merci pour ces "et" et "ou" je connaissais pas tout ça!

*Interesting wink

uuunh0.png

Hors ligne

#8 Le 06/08/2008, à 20:40

friedmann

Re : Executer des ligne de commande automatiquement

Merci pour votre rapidité c'est génial. Mais je vais encore vous enuyer un peu lol. Dois je mettre autant d'action que j'en ai dans le fichier ou est ce un code pour qu'il sache comment éxucuter les action?

#9 Le 06/08/2008, à 20:44

®om

Re : Executer des ligne de commande automatiquement

friedmann a écrit :

Merci pour votre rapidité c'est génial. Mais je vais encore vous enuyer un peu lol. Dois je mettre autant d'action que j'en ai dans le fichier ou est ce un code pour qu'il sache comment éxucuter les action?

Pas compris roll

Hors ligne

#10 Le 06/08/2008, à 20:46

twinsen93

Re : Executer des ligne de commande automatiquement

friedmann a écrit :

mettre autant d'action que j'en ai dans le fichier

Je ne suis pas sur de bien te comprendre mais... Le mot 'action' n'apparait pas dans ton script. Tu mets les commandes que tu veux executer, dans l'ordre, une par ligne.

Hors ligne

#11 Le 06/08/2008, à 20:58

harolddumur

Re : Executer des ligne de commande automatiquement

Non tu dois mettre tes actions une après l'autre tout simplement, il y d'autre code à mettre si tu veux que zenity par exemple te dise que tout c'est bien passé... etc.
Copie ton code avec action ligne après ligne

Peace

uuunh0.png

Hors ligne

#12 Le 08/08/2008, à 18:21

friedmann

Re : Executer des ligne de commande automatiquement

J'ai encore une question. Comment ajouter une source de logiciel via le script??

#13 Le 09/08/2008, à 00:06

twinsen93

Re : Executer des ligne de commande automatiquement

En ajoutant la ligne qui va bien dans le fichiers sources.list. Exemple :

echo deb http://fr.packages.medibuntu.org/ hardy free non-free >>/etc/sources.list

Hors ligne

#14 Le 09/08/2008, à 01:14

friedmann

Re : Executer des ligne de commande automatiquement

Ca ne marche pas. Et le fichier sources.list se trouve dans etc/apt. Mais je l'ai modifier j'ai lancé le scrip mais aucun dépot ne s'est ajouté

#15 Le 09/08/2008, à 02:08

friedmann

Re : Executer des ligne de commande automatiquement

Ca y est j'ai trouvé il faur faire:
echo "deb  gutsy-security main restricted universe multiverse" >> /etc/apt/sources.list
et lancer le fichier .sh depuis un terminal en sudo.

#16 Le 02/01/2009, à 19:05

jonas49

Re : Executer des ligne de commande automatiquement

Bonjour tout le monde merci beaucoup pour ces infos. Il y a néanmoins une chose que j'aimerais savoir. J'utilise elisa qui est un media center pour ubuntu et je dois désactiver compiz pour le faire fonctionner. J'ai donc créer le script suivant grâce à vos conseils :


#!/bin/bash

metacity --replace && elisa %U

Ce script fonctionne parfaitement bien sauf que j'aimerais juste que quand je ferme elisa, compiz se remette en fonction automatiquement.
On pourrait ajouter compiz --replace mais seulement si elisa %U est terminé.

Dernière modification par jonas49 (Le 02/01/2009, à 19:25)

Hors ligne

#17 Le 02/01/2009, à 19:32

twinsen93

Re : Executer des ligne de commande automatiquement

Si compiz doit se relancer sans condition

metacity --replace && elisa %U
compiz --replace

Si il faut lancer compiz seulement si elisa se termine sans erreur

metacity --replace && elisa %U && compiz --replace

Hors ligne

#18 Le 03/01/2009, à 14:53

jonas49

Re : Executer des ligne de commande automatiquement

Ok merci beaucoup pour ta réponse, c'est long à faire mais ça fonctionne ! Merci beaucoup !

Hors ligne