Question pour transmettre des varibles à un scritp shell

Question pour transmettre des varibles à un scritp shell - Shell/Batch - Programmation

Marsh Posté le 18-04-2009 à 14:14:57    

Salut a tous
 
je voudrais savoir si il est possible de transmettre des variables à un script shell genre :
 
monscript.sh --nom=dupont --age=20ans --passion=informatique
 
J'ai essayé de cherché un peut mais que je sais pas comment ça s'appelle ce genre de variable et comme je sais pas si c'est possible.
 
Merci

Reply

Marsh Posté le 18-04-2009 à 14:14:57   

Reply

Marsh Posté le 18-04-2009 à 14:32:46    

Salut,  
C'est possible sans aucun soucis, tu les récupère directement dans les variables $0, $1 ,...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 18-04-2009 à 14:40:09    

ah ok, je viens de trouver des trucs sur google, merci

Reply

Marsh Posté le 18-04-2009 à 14:43:59    

autre question, j'aimerais faire sortir des variables de mon script shell pour les transmettre à php, comment faire? Merci

Reply

Marsh Posté le 18-04-2009 à 14:49:43    

tu peux mieux expliquer ce que tu veux faire (par exemple donner un exemple de code ce que tu voudrais faire)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 18-04-2009 à 15:03:13    

donc voilà
 
J'ai fait un script shell qui crée des répertoires et fait un cp pour copier les fichiers du nouveau serveur.
 
et j'exécute se script shell avec une page php avec la commande system
system('scipts_shell/css/installation.sh <?php echo $id_client; ?> <?php echo $id_serveur; ?> <?php echo $jeu; ?> ', $return);
 
à se que j'ai compris si je fait des echo dans mon script shell elles seront dans la variable $return?
Car en gros je voudrais suivre l'avancement de l'installation avec un petit curseur d'avancement en javascript si c'est possible.
 
merci de votre aide.


Message édité par hppp le 18-04-2009 à 15:04:43
Reply

Marsh Posté le 18-04-2009 à 15:09:52    

Oui mais non. Il te remplira ta variable $return seulement à la fin de l'exécution , c.f. la doc :  
 

Citation :


 
Return Values
 
Returns the last line of the command output on success, and FALSE on failure.
 


 
De plus, il ne faut pas utiliser de <?php echo .... dans ta commande vu qu'elle est directement exécutée par php :
 
system('scripts_shell/css/installation.sh '.$id_client.' '.$id_serveur.' '.$jeu, $return);  
 
Pour faire ce que tu cherches faut probablement passer par un petit script AJAX qui appelle une fonction lisant un fichier mis à jour par ton script ... Mais c'est un peu le bordel à mon gout


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 18-04-2009 à 15:16:02    

ouais pas bête pour les echo.
 
Si non pas bête non plus le coup du fichier rempli par le script mais c'est vrai que c'est pas top. Je vais approfondir le problème, si vous avez des idées je suis preneur. Merci

Reply

Marsh Posté le 18-04-2009 à 16:25:56    

Bah pour le fichier faut le rendre unique pour chaque utilisateur en utilisant un long string random, après tu donnes cette valeur à l'utilisateur via variable de session et c'est bon. C'est juste chiant parce que ça occasionne pas mal de hits pour rien :(


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 18-04-2009 à 18:23:02    

en fait je vais faire un truc plus simple, à la fin de l'install je vais envoyer un mail au client.

Reply

Marsh Posté le 18-04-2009 à 18:23:02   

Reply

Marsh Posté le 18-04-2009 à 19:11:41    

autre petit question, y a pas plus simple que de se programmer un petit programme en C pour éditer des fichiers de config comme apache ou bind? merci

Reply

Marsh Posté le 18-04-2009 à 20:30:25    

par fichier de config comme apache tu entends le apache.conf (ou httpd.conf, selon les installations) ?
 
Si c'est ça : Tout dépend de tes compétences.. Là où qqn pourrais trouver facile à faire en C, d'autres préféreraient le Bash / Ruby / Perl
Mais regarde sur le net, peut-être qu'il y a déjà des scripts qui existent pour parser ça plus simplement


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 18-04-2009 à 23:46:52    

non je parle plus des vhosts.
Je ne sais pas super bien programmer en C mais comme je commence à avoir de bonne base en php et que je voit que beaucoup de langage se ressemble je pense pas avoir beaucoup de mal si je m'y met sérieusement.

Reply

Marsh Posté le 19-04-2009 à 22:16:56    

vous trouvez ça pro de créer les vhosts apache avec un script shell? http://www.dedibox-news.com/doku.p [...] st_apache2

Reply

Marsh Posté le 19-04-2009 à 22:51:02    

Bah si ça fait ce que tu veux, oui.
Après le truc c'est que ça te crée un Vhost très standard, à toi d'adapter le script pour que ça fasse ce que tu veux..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed