![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Shell Vos questions sur l'utilisation des commandes shell |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: janvier 2008
Messages: 12
|
Bonjour à tous,
Voilà mon code issu de l'installation de postgresql : Code :
#!/bin/sh clear sudo adduser postgres sudo mkdir /usr/local/pgsql/data sudo chown postgres /usr/local/pgsql/data echo "Tapez le mot de passe de postgres : " su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & J'aimerai que mon script s'exécute jusqu'au bout malheureusement lorsque l'on fait la commande su et que le mot de passe est tapé le script est arrêté car on change d'utilisateur. Y-a-t il une solution pour continuer l'exécution du script malgré le changement d'utilisateur ? Merci de votre aide Dernière modification par ggnore ; 26/08/2008 à 14h22 |
|
|
|
|
|
#2 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2004
Âge: 29
Messages: 53
|
bonjour,
essaye ça : Code :
#!/bin/sh clear sudo adduser postgres sudo mkdir /usr/local/pgsql/data sudo chown postgres /usr/local/pgsql/data echo "Tapez le mot de passe de postgres : " su - postgres -c "/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data; /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &"
__________________
First, they ignore you. Then, they laught at you.Then, they fight you. Then, you win. Mohandas Gandhi |
|
|
|
|
|
#3 (permalink) | |
|
Invité régulier
![]() Date d'inscription: janvier 2008
Messages: 12
|
Merci cela fonctionne bien
Malheureusement j'ai encore d'autres lignes à ajouter. Je les ai séparé par ; mais j'obtiens une erreur : Citation:
Il n'est pas possible de mettre plus de deux commandes à la suite ?? Merci beaucoup Dernière modification par al1_24 ; 31/08/2008 à 17h34 |
|
|
|
|
|
|
#4 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: septembre 2007
Localisation: Genève
Âge: 45
Messages: 219
|
À vue de nez, l'esperluette (ou ampersand en anglais: & ) est un caractère qui se place en fin de ligne de commande. Il faudrait donc le déplacer... en fin de ligne, par exemple.
|
|
|
|
![]() |
![]() |
||
Poursuivre un script shell après un su
|
||
| Outils de la discussion | |
|
|