#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 .
Peace
En plus pas besoin de script bash
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
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
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
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
Hors ligne
#10 Le 06/08/2008, à 20:46
- twinsen93
Re : Executer des ligne de commande automatiquement
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
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