Executer un programme bash

Fermé
mary - Modifié par mary le 8/04/2011 à 12:13
fleche-bleue Messages postés 514 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 9 avril 2011 - 8 avril 2011 à 23:18
Bonjour,

j ai un probleme au niveau de l utilisation du langage de programmation Bash sous windows, j ai telecharger Cygwin bash shell, j l ai installe, pour l essayer, j ai creer un fichier texte que je l ai sauvegarder dans une partition H: et qu il contient les lignes suivantes pour afficher la date;

#!/bin/bash
# premier
echo -n "La date du jour est: "
date

mais le probleme c est que j ai pu pas l executer, si vous connaissez commet, svp n hesitez pas de me dire et merciiiiiiiiiiiiiii

3 réponses

geek-face Messages postés 89 Date d'inscription vendredi 8 avril 2011 Statut Membre Dernière intervention 5 mai 2011 9
8 avril 2011 à 12:18
bonjour,

./"nom_du_bash"
exemple :

gedit test.sh

#!/bin/bash
# premier
echo -n "La date du jour est: "
date

chmod 770 test.sh

./test.sh
1
merciiii; j ai essaye c q vs m aviez dit mais ca marche pas svp est ce que vs pouvez m expliquer ou j ajoute les lignes:

gedit test.sh

chmod 770 test.sh

./test.sh
et merciiiiiiiii
0
fleche-bleue Messages postés 514 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 9 avril 2011 74
8 avril 2011 à 12:20
Bonjour
il faut sauvegarder ton fichier texte avec une extention .bat
Tu double-cliques dessus et ça doit fonctionner, je viens de le faire sous windows 7 avec ton script et il fonctionne.
@+
0
merciiiiiii j ai sauvegarder le fichier texte avec l extension .bat mais rien n est change , est ce que vous pouvez me detailler un peu cette procedure et merciiiiiiiiiii
0
fleche-bleue Messages postés 514 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 9 avril 2011 74
8 avril 2011 à 21:40
tu crées un dossier bin sous C, puis dans le dossier bin, tu recrées un dossier batch.
Tu ouvres le bloc notes
tu copies le script:

@Echo off
Rem !bin/bash
Rem !premier
Rem @Echo -n "La date du jour est: "
date

Ensuite tu fais enregistrer sous , puis en bas dans Type (par défaut, c'est fichier texte) tu sélectionnes Tous les fichiers, et pour le nom tu mets Premier.bat.
Tu vas dans c:\bin\batch et tu cliques deux fois sur le fichier Premier.bat .
Normalement, tu auras dans la console:

La date du jour est : 08/04/2011
Entrez la nouvelle date : (jj-mm-aa)

Si tu n'est pas en administrateur, tu fais un click droit, et executer en tant qu'administrateur.

@+

Un petit lien qui peut t'aider pour plus tard :
https://tldp.org/LDP/abs/html/dosbatch.html
0
fleche-bleue Messages postés 514 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 9 avril 2011 74
8 avril 2011 à 23:18
désolé, j'ai mal lu ton enoncé, ce n'ai pas ce que tu recherches, donc oubli tout ce que j'ai mis.
@+
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
8 avril 2011 à 12:46
Comme sous Linux il y a des permissions. Il faut donc donner les permissions d'exécution (comme le dit de manière rapide geek-fece) sur ton fichier.
Attention, il s'agit d'un script et non d'un programme, il faut donc le lancer depuis le bash.
0
merciiiiiiii oui j lai lance a partir la console du bash mais n a pas marche; svp quelles sont ces permissions et comment faut il les ecrire dans la console et merciiiiiiiiiiiii
0
geek-face Messages postés 89 Date d'inscription vendredi 8 avril 2011 Statut Membre Dernière intervention 5 mai 2011 9
8 avril 2011 à 14:19
Déjà, tu donnes les droits d'exécution a ton script bash :
pour voir les droits tu fais : "ls -l"

geekface@GeEk-LaND:~$ ls -l
total 152
drwxrwxrwx 3 geekface geekface   4096 2011-04-04 15:36 Documents
drwxr-xr-x 2 geekface geekface   4096 2011-03-31 17:11 flasheur


Ici la première lettre "d" veut dire directory, c'est un dossier, un répertoire.
d : répertoire
l : lien symbolique
c : périphérique de type caractère
b : périphérique de type bloc
p : fifo
s : socket
- : fichier classique

rwxr-xr--
\ /\ /\ /
v v v
| | droits des autres utilisateurs (o)
| |
| droits des utilisateurs appartenant au groupe (g)
|
droits du propriétaire (u)

(r) lecture correspond à 4
(w) écriture correspond à 2
(x) exécution correspond à 1


777 donne r w x r w x r w x
605 donne r w - - - - r - x
644 donne r w - r - - r - -
666 donne r w - r w - r w -
----------------------------------------------------------------------------------------------------
Dans ton cas tu peut faire ce que j'ai écris au début :

chmod 770 "chemin d'accès du fichier"

exemple :

chmod 770 /home/geek-face/Documents/toto.txt

toto.txt est le fichier qui aura les droits 770 : r w x r w x ---

Une fois que ton script a les droits d'éxécution tu peux faire :

./"nom_de_ton_script.sh"

------------------------------------------------------------------------------------------------------
geekface@GeEk-LaND:~/Documents$ sudo cat toto.sh
#!/bin/bash
echo -n "La date du jour est : "
date

geekface@GeEk-LaND:~/Documents$ ./toto.sh
-bash: ./toto.sh: Permission non accordée

geekface@GeEk-LaND:~/Documents$ chmod 770 toto.sh

geekface@GeEk-LaND:~/Documents$ ./toto.sh
La date du jour est : vendredi 8 avril 2011, 14:18:01 (UTC+0200)
0
merciiiiii, j ai essayé exactement comme vs m avez dit mais un mssg m apparait me dit:
chmod : can not access ' le chemin du fichier '
je ne sais pas pq,
svp est ce que vs pouvez me dire comment doit j enregistrer le fichier (sur quelle extension ) et ou et qsq il doit contenir et exactement comment je procede dans la console ?
psq j ai pas bien comprais c q vs avez ecrit et merciiiiiiiiiiiii
0