Executer un programme bash

mary -  
fleche-bleue Messages postés 514 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   9
 
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
mary
 
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   Statut Membre Dernière intervention   74
 
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
mary
 
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   Statut Membre Dernière intervention   74
 
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   Statut Membre Dernière intervention   74
 
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 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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
mary
 
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   Statut Membre Dernière intervention   9
 
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
mary
 
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