[sh] je comprend pas une ligne de code :)

je comprend pas une ligne de code :) [sh] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 04-09-2003 à 19:12:11    

dans un bouquin, j'ai ca :
 

Code :
  1. #! /bin/sh
  2. if [ "$MON_PID" != "$PPID" ] ; then
  3. export MON_PID=$$
  4. MON_LISTING=$(cat $0)
  5. cd /
  6. setsid /bin/bash -c "$MON_LISTING" "$0" "$@" 0<&- 1>&- 2>&- &
  7. logger -t $(basename $0) "Le PID du demon est $!"
  8. echo "Le PID du démon est $!" >& 2
  9. exit 0
  10. fi
  11. # Début du démon proprement dit
  12. sleep 30


 
voila, je pige pas ca :
MON_LISTING=$(cat $0)
 
si j'execute le script ok ca marche super bien mais si je fais un script avec juste
 
MON_LISTING=$(cat $0)
echo $MON_LISTING
 
ca me renvoi chier :/
 
 :??:  merci

Reply

Marsh Posté le 04-09-2003 à 19:12:11   

Reply

Marsh Posté le 04-09-2003 à 19:30:19    

$0 contient le nom avec lequel le script a été lancé, si je ne m'abuse. $1 pour le premier argument, $2 pour le 2ème, etc.
 

Reply

Marsh Posté le 04-09-2003 à 19:31:21    

Ah, aussi, rajoute un set +x  au début du script pour voir ce qu'il exécute.

Reply

Marsh Posté le 04-09-2003 à 19:32:51    

Jak a écrit :

$0 contient le nom avec lequel le script a été lancé, si je ne m'abuse. $1 pour le premier argument, $2 pour le 2ème, etc.
 
 


 
c'est bien ce que je pensais mais alors pour faire un cat et pour est ce que ca ne marche pas si je l'utilise dans mon script bidon ?

Reply

Marsh Posté le 04-09-2003 à 19:34:32    

j'ai rien dit :D je viens de piger. en fait ca marche. et mon test bidon etait merdique.
 
désolé  :jap:

Reply

Marsh Posté le 04-09-2003 à 19:36:14    

Zaib3k a écrit :


 
c'est bien ce que je pensais mais alors pour faire un cat et pour est ce que ca ne marche pas si je l'utilise dans mon script bidon ?

C'est parce que le cat $0 affiche le fichier, et les parenthèses autour précédé du $ interprètent le code résultant (Ça a la même fonction que les antiquotes obtenues avec AltGr-7).
 
Ça a l'air d'être particulièrement tordu quand même, hein ...

Reply

Marsh Posté le 04-09-2003 à 19:38:35    

Jak a écrit :

C'est parce que le cat $0 affiche le fichier, et les parenthèses autour précédé du $ interprètent le code résultant (Ça a la même fonction que les antiquotes obtenues avec AltGr-7).
 
Ça a l'air d'être particulièrement tordu quand même, hein ...


 
en fait ca permet de mettre le contenu du script dans une chaine pour le passer en parametre a bash.
 
ca permet de ne pas bloquer le fichier du script. c un truc de tordu pour lancer un script sous la forme de deamon( en respectant les normes)
 
bref  [:bigsmiley]

Reply

Marsh Posté le 04-09-2003 à 20:51:00    

D'accord. Donc, c'est bien ce que je disais :D

Reply

Sujets relatifs:

Leave a Replay

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