Script bash
Résolu/Fermé
A voir également:
- Script bash
- Script vidéo youtube - Guide
- Script les visiteurs pdf - Forum Cinéma / Télé
- Bash path - Astuces et Solutions
- Retour à la ligne bash ✓ - Forum Shell
- Script bat - Guide
8 réponses
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
9 mai 2005 à 11:39
9 mai 2005 à 11:39
Salut
En regardant le fichier /etc/inittab et tout ce qu'il appel ;)
--Une belette, un lapin !?
C'est pas normal ! :p
En regardant le fichier /etc/inittab et tout ce qu'il appel ;)
--Une belette, un lapin !?
C'est pas normal ! :p
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!
j'ai essayé de trafiquer avec un .bashrc mais apparemment ça marche pas!
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
9 mai 2005 à 12:16
9 mai 2005 à 12:16
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
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
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
tu met ton script dans rc2.d si tu démarre en niveau 2
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33134
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
31 mai 2024
7 756
12 mai 2005 à 16:20
12 mai 2005 à 16:20
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 :
Et dedans met :
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)
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)
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
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
mamiemando
Messages postés
33134
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
31 mai 2024
7 756
13 mai 2005 à 11:24
13 mai 2005 à 11:24
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...
Mais dans les deux cas je pense que tu as les réponses à ton problème avec les posts précédents...
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)
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)