Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

#2 Le 11/03/2008, à 11:35

vinc-mai

Re : Script Bash

C'est normal car ton script n'est pas dans le répertoire /.
IL faut utiliser

/mon_chemin/mon_script.sh

ou si il est dans le répertoire courant

./mon_script.sh

ZiK un lecteur audio et son blog.

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 wink

#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

TatrefThekiller a écrit :

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

mansonboy a écrit :

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

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 / cool


#!/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

TatrefThekiller a écrit :

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.

Yannick_LM a écrit :

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