Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1920 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°319677
Zaib3k
Posté le 04-09-2003 à 19:12:11  profilanswer
 

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

mood
Publicité
Posté le 04-09-2003 à 19:12:11  profilanswer
 

n°319688
Jak
Back to Slack !
Posté le 04-09-2003 à 19:30:19  profilanswer
 

$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.
 

n°319690
Jak
Back to Slack !
Posté le 04-09-2003 à 19:31:21  profilanswer
 

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

n°319694
Zaib3k
Posté le 04-09-2003 à 19:32:51  profilanswer
 

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 ?

n°319695
Zaib3k
Posté le 04-09-2003 à 19:34:32  profilanswer
 

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

n°319696
Jak
Back to Slack !
Posté le 04-09-2003 à 19:36:14  profilanswer
 

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 ...

n°319697
Zaib3k
Posté le 04-09-2003 à 19:38:35  profilanswer
 

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]

n°319729
Jak
Back to Slack !
Posté le 04-09-2003 à 20:51:00  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

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

 

Sujets relatifs
Evaluation des parametres de ligne de commande - Script[LINUX] comment ajouter une ligne dans un fichier, avec un script
[bash] Regexp pour matcher un code postal ?[shell] connection a internet sous la ligne de commande
Une partie du code source de SCO !!! (MDR)Comment regler les aigus/basses de la sortie son en ligne de commande?
mldonkey : connaitre l'avancement des dl en ligne de comm.Comment executer une requete mySQL depuis la ligne de commande ?
Afficher un fichier sauf sa première ligne... 
Plus de sujets relatifs à : [sh] je comprend pas une ligne de code :)


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)