Fichier *.bat sous linux

Résolu
Bonjour,

voila un petit temps que je fais du Batch sous windows et je voudrais faire le mm sous linux. Je m'explique :

Sous windows je créer des fichiers *.bat qui sont donc interprétés par la console. Et je voudrais faire le même sous linux, c'est a dire créer un fichier interprété par la console de linux dont l'icône apparaisse sur mon bureau (linux) et je n'ai plus qu'a cliquer dessus pour "l'exécuter" (ou le lancer a partie de la console).

Sous windows c'est très simple, on ouvre un éditeur de texte, on tape son script et on l'enregistre en fichier *.bat.
Mais sous linux je ne sais pas du tout comment m'y prendre.
Configuration: Windows XP
Firefox 3.0.3

21 réponses

  1. ./test.bat
    4
    1. Modérateur
      Salut,

      Sous GNU/Linux c'est très simple, on ouvre un éditeur de texte, on tape son script (avec un shebang en en-tête) et on l'enregistre en fichier *.quelquechose (mais c'est facultatif, tu l'enregistres en ".ce_que_tu_veux" ou même sans extension), tu le rends exécutable (chmod +x le_fichier) et le tour est joué ;-))
      0
      1. Voila j'ai suivis tes étapes mais je bloc sur :
        tu le rends exécutable (chmod +x le_fichier)


        voici ce que j'ai tapé dans ma console :
        #nano
        #ls
        Desktop/ Set\ IP\address   sample_scripts/  test.bat(qui est le fichier que je veux créer)
        #chmod +x test.bat
        


        et puis j'exécute comment mon programme ?
        0
        1. Apparemment j'ai un problème avec le "shebang" ! car il me met comme message d'erreur:
          -bash: ./test.bat: bin/sh: bad interpreter: No such file or directory
          pourtant j'ai bien mi en entête de fichier :
          #!bin/sh -x
          2
          1. C'était bien ça ! :s que de simple erreur de base.

            Par contre nouveau message d'erreur:
            -bash: ./test.bat: Permission denied
            ??? pourtant je suis bien sous root ???
            1
            1. tapes,

              id

              et,

              ls -l
              0
          2. voici ce que j'obtien :
            # id
            uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy)
            # ls -i
            3327 Desktop/  3328 Set\ IP\ address  3329 sample_scripts/  6904 test.bat
            
            0
            1. Console:

              # id
              uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy)
              # ls -l
              total 5
              drwx---r-x 2 root root 40 Oct 16 18:08 Desktop/
              -rw-r--r-- 1 root root 323 May 2 2005 Set\ IP\ address
              drwxr-xr-x 2 root root 182 Mar 6 2007 sample_scripts/
              -rw-r--r-- 1 root root 62 Oct 16 17:57 test.bat
              0
              1. non j'ai bien vu que je n'avait pas la droit d'exécuter le fichier test.bat
                mais chmod +x ne me change pas les droit d'accès et cela pose vraiment problème :s

                pourtant je suis bien en SuperUtilisateur (root) et je n'arrive pas à modifier les accès des fichiers.

                cela peut-il venir du fait que j'utilise virtual box pour émuler linux 2.6 ?
                0
                1. il mets une erreur ?
                  0
              2. non il n'en met pas il laisse simplement :

                -rw-r--r-- 1 root root 62 Oct 16 17:57 test.bat

                et n'ajoute pas "x" apres le "rw"

                -rwxr--r-- 1 root root 62 Oct 16 17:57 test.bat

                Édit:

                Voila j'ai réussi a me mettre les accès, en utilisant "chmod" avec la valeur octal
                #chmod 760 test.bat
                -1
                1. salut
                  vu que tu es débutant, tu ne devrais pas faire des batch en root , tu riswques gros :
                  par exemple un
                  rm -r / home/moi/mesfichier
                  détruirait tout ton linux car un espcae s'est inséré entre / et home
                  alors que en user normal ca ne marcherait pas
                  0
                  1. oui je sais mais linux n'est pas installer sur ma machine ^^

                    Je ne fais que l'émuler de façons a passer de winXP a Linux rapidement donc pas de trop de risque de ce coté la.
                    0
                    1. Bonjour à tous

                      J'ai aussi un petit problème avec les droits d'accès à mon .bat : Et cela bien que je lui ai donné tout les droits :
                      -rwxrwxrwx 1 root root 113 fév 4 11:19 projet.bat*

                      Or quand j'exe le .bat il m'affiche une erreure de permission :/
                      bash: ./projet.bat: /lib/modules/2.6.12-12mdk/comedi/drivers: bad interpreter: Permission non accordée

                      Quelqun aurait t'il une suggestion à me faire part ?

                      Merci à vous . :D
                      0
                      1. salut
                        déjà être clair : que fais-tu pour exécuter le bat, quelle machine, quelle distribution...
                        0
                    2. -Execution du bat : ./projet.sh
                      -mandriva 2006.

                      voila, merci d'avoir repondu ^^
                      0
                      1. en meme temps; le plus simple serait de nous mettre ton script directement, on pourait corriger plus facilement!
                        0
                        1. OK alors le voici :

                          #!/lib/modules/2.6.12-12mdk
                          depmod -a
                          #!/lib/modules/2.6.12-12mdk/comedi/drivers
                          modprobe ni_pcimio
                          comedi_config /dev/comedi0 ni_pcimio
                          exit

                          je suis pas sûr qu'il est juste mais j'ai avant tout un probleme de droit.
                          0
                          1. C'est bon, j'ai resolu le problème, merci quand même. :)
                            2
                            • 1
                            • 2