Pages : 1
#1 Le 11/03/2008, à 11:28
- mansonboy
Script Bash
bonjour, je m'ettai pas encore intereser a la programmation bash avant mais la j'en est besoin. J'ai donc commencer a apprendre mais deja le plus simple des script ne marche pas...
Je fais le script comme ceci dans l'editeur de texte :
#!/bin/bash
echo "Bonjour"
J'ai aussi essayer :
#!/bin/sh
echo "Bonjour"
ensuite j'essaye de le compiler pour le rendre executable avec ceci dans un terminal :
chmod u+x mon_script.sh
Deja la apres cette ligne dans le terminal rien ce passe (normal?)
Ensuite j'essaye de l'executer avec :
/mon_script.sh
Et la j'ai cette erreur la :
bash : /mon_script.sh : aucun fichier ou répertoire de ce type
Hors ligne
#3 Le 11/03/2008, à 11:37
- TatrefThekiller
Re : Script Bash
Un script ne se compile pas, tu le rends seulement exécutable.
Pour l'exécuter, c'est :
./script.sh
D'ailleurs, le sh n'est pas obligatoire, puisque tu as #! /bin/sh au début de ton fichier.
De plus, /bin/sh est identique à /bin/bash, puisque /bin/sh point sur /bin/bash :
ls -l /bin/sh
Dernière modification par TatrefThekiller (Le 11/03/2008, à 11:37)
Hors ligne
#4 Le 11/03/2008, à 11:42
- mansonboy
Re : Script Bash
Bon j'ai tenter en le mettant sur le bureaux avec :
Desktop/mon_script.sh
(et essayer aussi sans le sh) : une erreur avec un mauvais interpreteur
Esayer en le plaçant dans mes documents avec :
./mon_script.sh
(et sans le sh) : Erreur egalement...
Hors ligne
#5 Le 11/03/2008, à 12:21
- Sciensous
Re : Script Bash
vu le premier post, tu ne dois pas l'avoir rendu "executable".
essayes tout betement sh Destotp/ton_script.sh
l'avantage de le lancer comme ça est d'éviter le chmod +x (oui je suis faigneant)
bienvenu dans le monde du script
#6 Le 11/03/2008, à 12:32
- mansonboy
Re : Script Bash
Ah merci Sciensous!!!! Sa marche bien!! Mais comment le rendre executable alors, Meme si sa marche comme cela...
Hors ligne
#7 Le 11/03/2008, à 13:16
- Sciensous
Re : Script Bash
pour le rendre excecutable, il faut être dans son dossier en mode console et taper ensuite chmod +x <nom du script>
mais tu peux aussi le faire en graphique par clic droit sur le fichier + propriétés+permissions et cocher execution
#8 Le 11/03/2008, à 15:51
- mansonboy
Re : Script Bash
Bon j'ai trouver mon erreur, c'est tout con : j'avais oublier un / devant bin/bash
Hors ligne
#9 Le 11/03/2008, à 16:09
- Laurent82
Re : Script Bash
D'ailleurs, le sh n'est pas obligatoire, puisque tu as #! /bin/sh au début de ton fichier.
De plus, /bin/sh est identique à /bin/bash, puisque /bin/sh point sur /bin/bash :ls -l /bin/sh
chez moi qui suis sous Gutsy, /bin/sh pointe sur "dash" et non sur "bash"
Je crois que c'est le cas depuis Edgy ?
#10 Le 11/03/2008, à 18:28
- TatrefThekiller
Re : Script Bash
C'est aussi ce que j'ai lu sur le net... mais chez moi, visiblement ce n'est pas le cas, et je n'ai rien modifié... je sous aussi sous Gutsy.
Hors ligne
#11 Le 11/03/2008, à 19:15
- mansonboy
Re : Script Bash
Bon maintenant encore un problem, je vais jamais m'en sortir je crois bien...
Je tente le coup des variable donc :
#! /bin/sh
message="Hello"
echo $message
Sa me retourne comme erreur :
message:not found
Hors ligne
#12 Le 11/03/2008, à 19:33
- Cyrille_tux
Re : Script Bash
N'y aurait-il pas un caractère ascii ou un truc comme ça qui traine dans ton script ?
Edites ton script avec vi par exemple, et puis, tu tapes :set list
Tu devrais avoir quelque chose comme ça :
#! /bin/sh$
message="Hello"$
echo $message$
Hors ligne
#13 Le 12/03/2008, à 11:12
- Sciensous
Re : Script Bash
Bon maintenant encore un problem, je vais jamais m'en sortir je crois bien...
Je tente le coup des variable donc :
#! /bin/sh
message="Hello"
echo $messageSa me retourne comme erreur :
message:not found
chez moi ça marche (avec sh <fichier>), bizarre
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#14 Le 12/03/2008, à 15:08
- Yannick_LM
Re : Script Bash
mansonboy : faut enlever l'espace entre le ! et le /
#!/bin/bash
message="Hello"
echo $message
sinon, je te conseille de laisser le /bin/bash en tête, et pas /bin/sh.
Si tu laisse /bin/sh, tu auras des résultats variables suivant les distributions (parce que /bin/sh ne pointe pas toujours vers bash), sauf si évidemment tu gardes tes scripts pour toi, ou que tu les fais "standards", sans rien de spécifique à bash.
(pas une bonne idée à mon avis, surtout que bash est relativement à la fois répandu et documenté)
Un lien pour la route :
http://abs.traduc.org/abs-5.1-fr/
Très,(voire trop) complet, et uniquement consacré à bash
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#15 Le 12/03/2008, à 15:26
- Link31
Re : Script Bash
De plus, /bin/sh est identique à /bin/bash, puisque /bin/sh point sur /bin/bash
Pas forcément. Si tu regardes la page de manuel de bash, tu verras qu'il se comporte légèrement différemment quand il est lancé en tant que /bin/sh.
mansonboy : faut enlever l'espace entre le ! et le /
Il vaut mieux le laisser : certains UNIX prennent un shebang sur 3 octets.
Dernière modification par Link31 (Le 12/03/2008, à 15:29)
Hors ligne
Pages : 1