Executer un programme bash

mary -  
fleche-bleue Messages postés 453 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

  1. geek-face Messages postés 98 Statut Membre 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
    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
  2. fleche-bleue Messages postés 453 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
    1. 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
    2. fleche-bleue Messages postés 453 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
    3. fleche-bleue Messages postés 453 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
  3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
    1. 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
    2. geek-face Messages postés 98 Statut Membre 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
    3. 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