Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell

Shell Vos questions sur l'utilisation des commandes shell

Réponse
 
Outils de la discussion
Vieux 26/08/2008, 12h30   #1 (permalink)
Invité régulier
 
Date d'inscription: janvier 2008
Messages: 12
Par défaut Poursuivre un script shell après un su

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
patou21 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/08/2008, 12h37   #2 (permalink)
Nouveau membre du Club
 
Date d'inscription: avril 2004
Âge: 29
Messages: 53
Par défaut

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
dokho est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/08/2008, 13h00   #3 (permalink)
Invité régulier
 
Date d'inscription: janvier 2008
Messages: 12
Par défaut

Merci cela fonctionne bien

Malheureusement j'ai encore d'autres lignes à ajouter.

Je les ai séparé par ; mais j'obtiens une erreur :

Citation:
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 &; /usr/local/pgsql/bin/createdb test; /usr/local/pgsql/bin/psql test"

-su: -c: line 0: Erreur de syntaxe près du symbole inattendu « ; »
-su: -c: line 0: `/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data; /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &; /usr/local/pgsql/bin/createdb test; /usr/local/pgsql/bin/psql test'

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
patou21 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/08/2008, 13h43   #4 (permalink)
Membre Confirmé
 
Date d'inscription: septembre 2007
Localisation: Genève
Âge: 45
Messages: 219
Par défaut

À 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.
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/08/2008, 14h41   #5 (permalink)
Invité régulier
 
Date d'inscription: janvier 2008
Messages: 12
Par défaut

Merci beaucoup ça a l'air de marcher ...

J'ai une erreur pour PostGreSQL mais je vais changer de forum.

Merci beaucoup
patou21 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement