[Script SH] Modifier un paramètre à la volée

Modifier un paramètre à la volée [Script SH] - Programmation

Marsh Posté le 12-04-2002 à 14:00:04    

Yep,
 
Je suis une burne en script Unix et ca m'énerve. Je cherche mais ca marche pas. Voici le problème:
 
On doit démarrer un certain nombre de daemons pour un service. Or cet ensemble de daemons appartiennent à un pays. On voudrait, via un script unique, démarrer les daemons d'un pays en spécifiant son code en ligne de commande.
 
pour l'instant on a un truc du genre: startcn.sh

Code :
  1. #!/bin/sh
  2. #
  3. # Start the daemons, but check first if they are not running
  4. #
  5. . config
  6. PIDDIR=$CUSNOTHOME/pids
  7. LOGDIR=$CUSNOTHOME/logs
  8. [ -d $PIDDIR ] || mkdir $PIDDIR
  9. [ -d $LOGDIR ] || mkdir $LOGDIR
  10. for i in $CUSNOTHOME/bin/*.sh; do
  11.     BASENAME=`basename $i`
  12.     DAEMONNAME=`echo $BASENAME|sed 's/\.sh//'`
  13.     [ 'startcn.sh' == $BASENAME ] && continue
  14.     [ 'stopcn.sh' == $BASENAME ] && continue
  15.     [ 'checkcn.sh' == $BASENAME ] && continue
  16.     PIDFILE=$PIDDIR/$DAEMONNAME.pid
  17.     LOGFILE=$LOGDIR/$DAEMONNAME.log
  18.     if [ -s $PIDFILE ]; then
  19. PID=`cat $PIDFILE`
  20. if [ `ps ax | grep -v 'grep' | grep -c $PID` -gt 0 ]; then
  21.     echo " skipped $BASENAME: already running"
  22.     continue
  23. fi
  24.     fi
  25.     . $i >$LOGFILE 2>&1
  26.     PID=$!
  27.     echo -n $PID > $PIDFILE
  28.     echo " started $BASENAME: pid=$PID"
  29. done


 
la ligne
 

Code :
  1. . $i >$LOGFILE 2>&1


 
démarre en fait un daemon et balancde la sortie dans un fichier de log qui porte son nom. Si on prend un daemon isolé ca ressemble à ca
 

Code :
  1. javac -ss128k -ms16m -mx128m xxx.CNEmailExpirationMonitor file://../config/ClientSettings.xml &


 
Ok now le deal c'est que tout les daemons prennent un fichier de config XML et que ce fichier est dans un sous répertoire du répertoire config.
 
Donc config/BE/ClientSettings.xml pour la belgique config/NL/ClientSettins pour les pays bas etc.
 
Ce que je voudrais c'est faire
 
./startch.sh BE
 
et qu'il construise l'URL automatiquement basé sur le paramètre.
 
Et que donc la ligne d'invocation devienne
 

Code :
  1. . $i MON_URL_CALCULEE & >$LOGFILE 2>&1


 
 
Merci à ceux qui liront le post :)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-04-2002 à 14:00:04   

Reply

Marsh Posté le 12-04-2002 à 14:06:10    

en gros je voudrais dans mon script avoir un truc du genre
 
BASE_URL=file://../config/
FILE=ClientSettings.xml
 
et que lorsqu'on invoque le script avec BE par exemple il me mette dans une variable quelconque
 
file://../config/BE/ClientSettings.xml
 
c'est peut etre plus clair comme ca. Désolé  :hello:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-04-2002 à 15:52:32    

bide  :cry:  
 
--> si qqun a un tuto bien foutus et complet je prends (j'en ai déjà trouvé qquns que j'ai lus mais ca ne réponds pas a mes problemes.
 
Comment savoir qu'une var passée en paramètre est null ou pas (genre j'appelle le script sans param
Comment concaténer des vars
 
etc.


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

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