divers problemes simples... [solutions trouvées] [SCRIPT] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 04-03-2003 à 15:29:54
raph93 a écrit :
|
1) tu as bien mis un " #! /bin/sh" ou un " #! /bin/bash" au debut de ton script ?
2) j'ai pas compris
3) paske les commandes ne sont pas trouvées ?
Marsh Posté le 04-03-2003 à 15:30:47
KazeKami a écrit : |
1) non , je vais le rajouter
Marsh Posté le 04-03-2003 à 15:31:36
raph93 a écrit : |
je pense ke ca venait de la... paske j'ai fait le meme oubli l'autre soir
Marsh Posté le 04-03-2003 à 15:32:41
en rajoutant #! /bin/bash au debut du script j'obtiens :
[root@localhost raph]# ./uninstall.sh |
Marsh Posté le 04-03-2003 à 15:33:50
raph93 a écrit : en rajoutant #! /bin/bash au debut du script j'obtiens :
|
tu ne dois pas avoir bash d'installé. test avec " #! /bin/sh "
Marsh Posté le 04-03-2003 à 15:35:06
KazeKami a écrit : |
[root@localhost raph]# rpm -qa |grep bash |
ca fait parei avec /bin/sh
Marsh Posté le 04-03-2003 à 15:36:58
ReplyMarsh Posté le 04-03-2003 à 15:37:08
et avec :
#!/bin/bash
(cad sans espace entre ! et /) ?
Marsh Posté le 04-03-2003 à 15:37:46
HuGoBioS a écrit : c'est pas pluyoy #!/bin/bash ? |
grillaid
j'ai tapé un espace en trop, c couillon hin ? pour une fois ke j'pouvais aidé lol
Marsh Posté le 04-03-2003 à 15:38:16
KazeKami a écrit : et avec : |
pareil
Marsh Posté le 04-03-2003 à 15:40:04
il est bien éxécutable ton script ?
chmod a+x uninstall.sh |
Marsh Posté le 04-03-2003 à 15:41:15
Mjules a écrit : il est bien éxécutable ton script ?
|
[root@localhost raph]# ll |
Marsh Posté le 04-03-2003 à 15:42:24
pour info : c'est une RedHat 7.2
Marsh Posté le 04-03-2003 à 15:46:28
raph93 a écrit : pour info : c'est une RedHat 7.2 |
je fais le meme genre de chose sur une redhat 7.3 :
Citation : [nom]exemple[/nom] |
Marsh Posté le 04-03-2003 à 15:49:36
KazeKami a écrit :
|
tu peux tenter d'executer mon script sur ta machine histoire de voir ce ke ca donne
Marsh Posté le 04-03-2003 à 15:58:23
KazeKami a écrit : |
spagrave ca arrive !
mais c'est bizzare que meme sans espace ca marche pas !
Pour faire un script y'a deux trucs a respecter : le #!/bin/bash (donc la definition de l'interpreteur, ici bash)
et le chmod 777 (pour que tt le monde puisse le lancer)
apres c'est censé marcher a tt les coups !
Marsh Posté le 04-03-2003 à 16:05:59
j'ai laisser un espace au debut du fichier avant #!/bin/bash maintenant ca marche par contre y'a toujours les problemes :
1 ) Pourquoi j'obtiens des "Command not found" à la place des espaces(lors de l'execution du script) , quand je retire ces espaces je n'obtiens plus ces erreurs ??
2 ) Pourquoi le fichiers de log crée sur le disque s'appelle "uninstall.log?" et non pas "uninstall.log" ??
3 ) Pourquoi le fichier de log est vide apres l'execution du script ??
Marsh Posté le 04-03-2003 à 16:21:33
raph93 a écrit : j'ai laisser un espace au debut du fichier avant #!/bin/bash maintenant ca marche par contre y'a toujours les problemes : |
pask'a mon idée on en revient au meme pb k'au debut, cad k'il ne trouve pas de shell pour executer ton script (on dirait ke le fait de laisser un espace devant #!/bin/bash fait ke cette ligne est ignorée )
Marsh Posté le 04-03-2003 à 16:22:47
KazeKami a écrit : |
ouais je vois cke tu veux dire, c chelou
Marsh Posté le 04-03-2003 à 16:47:04
c bon j'ai trouvé la solution au probleme de l'interpreteur...
en fait j'avais crée mon script avec Textpad sous Win (pas avec Vi) resultat le texte etait au format DOS
je l'ai converti avec Dos2Unix , et maintenant c bon
les question 1 & 2 sont resolus
il reste à savoir :
3 ) Pourquoi le fichier de log est vide apres l'execution du script ??
Marsh Posté le 04-03-2003 à 16:53:19
fait un touch uninstall.log en premire ligne de script
Marsh Posté le 04-03-2003 à 16:57:35
HuGoBioS a écrit : fait un touch uninstall.log en premire ligne de script |
non ca marche pas
Marsh Posté le 04-03-2003 à 17:11:40
pour ce recentrer sur la question, on observe ceci :
le fichier est vide
[root@localhost raph]# /etc/init.d/mysqld stop > /home/raph/uninstall.log |
le fichier contient des données
[root@localhost raph]# ifconfig > /home/raph/uninstall.log |
Marsh Posté le 04-03-2003 à 17:38:08
sur la premiere ligne de ton script, remplace >> par > peut etre
Marsh Posté le 04-03-2003 à 17:39:15
KazeKami a écrit : sur la premiere ligne de ton script, remplace >> par > peut etre |
deja tenté , mais ca fait rien
Marsh Posté le 04-03-2003 à 17:44:54
raph93 a écrit : |
oui, g vu apres ke HuGoBiOs t'avait proposé la solution du touch, ki revenait au meme
chez moi g tenté /etc/init.d/httpd restart >> /tmp/toto.log et ca marche
tu es root kan tu executes ce script ?
Marsh Posté le 04-03-2003 à 17:47:33
par défaut rm ne produit aucune sortie sur stdin.
rpm je sais pas.
il faut catcher aussi stdout :
commande 2>&1 >> fichier.log
Marsh Posté le 04-03-2003 à 17:48:22
KazeKami a écrit : |
yep
Marsh Posté le 04-03-2003 à 18:07:00
minusplus a écrit : par défaut rm ne produit aucune sortie sur stdin. |
parfait ca marche nickel !
le script final (apres resolution des problemes)
#!/bin/bash |
Merci à tous !
Marsh Posté le 04-03-2003 à 18:10:20
raph93 a écrit : |
je dirai ke pour /etc/init.d/* tu n'as pas besoin de 2>&1 , ni pour rpm -e
Marsh Posté le 04-03-2003 à 18:12:45
KazeKami a écrit : |
ben si je recupere les eventuelles erreurs :
./uninstall.sh: /etc/init.d/mysqld: No such file or directory |
Marsh Posté le 04-03-2003 à 18:19:18
raph93 a écrit :
|
oui mais tu dois kan meme les recuperer dans ton fichier log meme si tu ne rediriges pas 2 sur 1 (j'ai testé de mon coté et ca marchait)
Marsh Posté le 04-03-2003 à 15:26:44
/etc/init.d/mysqld stop >> /home/raph/uninstall.log
/etc/init.d/httpd stop >> /home/raph/uninstall.log
rm -rf /home/www/ >> /home/raph/uninstall.log
rpm -e php-mysql-4.0.6-7 >> /home/raph/uninstall.log
rpm -e MySQL-3.23.51-1 >> /home/raph/uninstall.log
rpm -e MySQL-shared-3.23.51-1 >> /home/raph/uninstall.log
rpm -e php-4.0.6-7 >> /home/raph/uninstall.log
rpm -e apache-1.3.22-6 >> /home/raph/uninstall.log
rm apache-1.3.22-6.i386.rpm >> /home/raph/uninstall.log
rm MySQL-3.23.51-1.i386.rpm >> /home/raph/uninstall.log
rm MySQL-shared-3.23.51-1.i386.rpm >> /home/raph/uninstall.log
rm php-4.0.6-7.i386.rpm >> /home/raph/uninstall.log
rm php-mysql-4.0.6-7.i386.rpm >> /home/raph/uninstall.log
rm phpMyAdmin-2.3.0-php.tar.gz >> /home/raph/uninstall.log
Ce script fonctionne correctement mais j'obtiens des erreurs bizarres...
1 ) Pourquoi j'obtiens des "Command not found" à la place des espaces(lors de l'execution du script) , quand je retire ces espaces je n'obtiens plus ces erreurs ??
2 ) Pourquoi le fichiers de log crée sur le disque s'appelle "uninstall.log?" et non pas "uninstall.log" ??
3 ) Pourquoi le fichier de log est vide apres l'execution du script ??
Merci de votre aide
Message édité par raph93 le 04-03-2003 à 18:07:50
---------------
Nothing can stop me, I'm never satisfied, I take what i want, refuse to be denied...