Posez votre question Signaler

Script bash [Résolu]

Aurélie - Dernière réponse le 13 mai 2005 à 11:54
Bonjour,
est ce que quelqu'un sait PRECISEMENT comment lancer un script bash au lancement du système?
Merci!
Lire la suite 

Script bash »

8 réponses
Réponse
+0
moins plus
Salut

En regardant le fichier /etc/inittab et tout ce qu'il appel ;)

--Une belette, un lapin !?
C'est pas normal ! :p
Ajouter un commentaire
Réponse
+0
moins plus
le problème c'est que je n'ai pas ce fichier!
j'ai essayé de trafiquer avec un .bashrc mais apparemment ça marche pas!
Ajouter un commentaire
Réponse
+0
moins plus
Ok,
alors si tu commençais par nous dire quel OS tu utilises (Linux/bsd/etc. ?) on situerai sans doute mieux le soucis, ensuite, et tu sur que ton shell par défaut est bash (Dans le cas contraire, un .bashrc ne serait pas lu.)
--Une belette, un lapin !?
C'est pas normal ! :p
Ajouter un commentaire
Réponse
+0
moins plus
je pense que tu doit puvoir faire ça en mettant ton script dans le dossier qui correspond à ton niveau de démarrage:

tu met ton script dans rc2.d si tu démarre en niveau 2
Ajouter un commentaire
Réponse
+0
moins plus
1) Vérifie que tu es sous bash
Si ce n'est pas le cas tu peux passer sous bash avec la commande chsh

2) Vérifie que ton fichier .bashrc est bien à la racine du compte (~) sur lequel tu te loggues. Un .bashrc se lance lorsque tu tapes la commande bash.

3) Si tu veux appeler le .bashrc au moment ou tu te loggues, crée le fichier :
~/.bash_login


Et dedans met :

source .bashrc


Si tu veux que ce soit appliqué à tous les utilisateurs, il te faut modifier le bashrc global qui s'appelle stocké dans /etc (genre /etc/bash/bashrc, /etc/bashrc... ça dépend des distribs)
Ajouter un commentaire
Réponse
+0
moins plus
pour lancer n'importe quel programme (y compris un script bash),
il y a 2 méthodes.
Pour ces 2 méthodes, il faut être "root" pour configurer le système.
Sans être root, on ne pourra configurer que sa session, donc on ne pourra que lancer un programme automatiquement à l'ouverture de sa session.

La première :
=========
ajouter une ligne dans le fichier /etc/inittab
par exemple :
xx:2345:respawn:"/chemin/commande"

xx : clé unique dans le fichier,
2345 : les "runlevel" valables pour cette commande
(par exemple : au début du fichier inittab - id:5:initdefault:, il faudra donc au moins le chiffre 5 pour que ça marche)
paramètre suivant :
- respawn : si le programme se plante, le système le relancera automatiquement (message dans la console)
- wait : le programme ne sera lancé qu'une fois

La seconde :
========
créer un shell (toto pour l'exemple) exécutable (+x) qui lance le programme dans le répertoire :
/etc/rc.d/init.d
ensuite, dans le répertoire /etc/rc.d/rc2.d
faire un lien vers le fichier de init.d
exemple : ln -s ../init.d/toto S990toto
S990 veut dire : S pour start (K pour le shutdown - kill)
990 numéro d'ordre d'exécution des programmes dans rc2.d
Ajouter un commentaire
Réponse
+0
moins plus
En fait le truc qui n'est pas très clair c'est est ce que ton script doit être lancé au démarrage du pc (auquel cas c'est la version avec /etc/inittab ou les /etc/rc.d) ou est ce que c'est quand un utilisateur s'identifie (auquel cas c'est dans le .bashrc qu'on travaille...).

Mais dans les deux cas je pense que tu as les réponses à ton problème avec les posts précédents...
Ajouter un commentaire
Réponse
+0
moins plus
pour lancer un programme à l'ouverture de la session,
il ne faut pas mettre ça dans le .bashrc,
sinon, à chaque ouverture de fenêtre, à chaque "su -" ... le programme va être lancé.
Le mieux est de le lancer dans le fichier de définition de l'environnement graphique (.xsession ou autre ... selon les version UNIX, LINUX)
Ajouter un commentaire
Ce document intitulé « script bash » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook