Pb sous LINUX debiant ligne de command

Bonjour,

Voila je viens d'installer Linux DEBIANT sur un disque dur externe et j'ai un probleme pour lancer un fichier

1er : je me met en mode ROOT
2éme : je copie via clé USB un répertoire ou se trouve mon programme (en l'occurence WAbModCheap)
3ème : ensuite je créer le script suivant
touch wab.sh

nano wab.sh

#!/bin/bash
mknod /dev/parport0 c 99 0
sleep 2
cd "WabModCheap3.0 - FINAL"
./WabModcheap 100 1000 Y
cd ..

chmod 744 wab.sh

./wab.sh

4ème : Et voila et la c'est le drame
car il me met WabModcheap command no valid ou fichier introuvable
je ne comprends pas car quand je fais
cd root/WabModCheap3.0 - FINAL
ls
il m'affiche bien le fichier
WabModcheap
et le fichier WabModcheap.exe

Pourquoi ne le lance t il pas ?
Me manque t -il des bibliothèque ou autres

Je suis débutant sous DEBIANT et je n'ai installé que le minimum dois-je réinstaller

Pouvez-vous m'aider s'il vous plait, je vous en remercie par avance.

s'il manque des informations désolé, c'est le début galère galère....

Vincent
Configuration: Windows Vista
Firefox 2.0.0.13

7 réponses

  1. Modérateur
    Est ce un probleme de syntaxe?

    lit le message de jipicy N°10 qui a téléchargé le fichier (je suis trop paresseux pour le faire ;-)
    1. Modérateur
      L'arborescence donne ça :
      |-- WabModCheap3.0-FINAL
      |   `-- WabModCheap3.0 - FINAL
      |       |-- Makefile
      |       |-- WabModcheap
      |       |-- WabModcheap.exe
      |       |-- cn302.c
      |       |-- cn302.h
      |       |-- lptport-linux.c
      |       |-- lptport-windows.c
      |       |-- lptport.h
      |       |-- main.c
      |       `-- readme.txt
      |-- WabModCheap3.0-FINAL.rar
      
      Donc tout porte à croire que tu dois mettre ça dans ton script :
      #!/bin/bash
      mknod /dev/parport0 c 99 0
      sleep 2
      cd WabModCheap3.0-FINAL/WabModCheap3.0\ -\ FINAL/
      ./WabModcheap 100 1000 Y
      cd .. 
      ;-))
      1. Ha ca évolue !!!
        ca me met suite à la commande Wii:~# ./wab.sh
        mknod: '/dev/parport0': Le fichier existe
        ./wab.sh: line 4: unexpected EOF while lookink for matching '"'
        ./wab.sh: line7: syntax error: unexpected end of file

        Est ce que nous sommes sur la bonne route?
      2. Modérateur
        @JahleeAffiche l'intégralité de ton script (cat -n wab.sh)
      3. @jipicysuite à : cat -n wab.sh
        mknod: '/dev/parport0': Le fichier existe
        ./wab.sh: line 4: unexpected EOF while lookink for matching '"'
        ./wab.sh: line7: syntax error: unexpected end of file
        Wii:~# cat -n wab.sh
        1 #!/bin/bash
        2 mknod /dev/parport0 c 99 0
        3 sleep 2
        4 cd WabModCheap3.0 - FINAL"/WabModCheap3.0\ -\ FINAL/
        5 ./WabModcheap 100 1000 Y
        6 cd ..
        Wii:~#

        voilà (depuis cette nuit couché à 7h levé 11h pas de solution enlever moi cet "apces" qui me ronge et encore merci pour votre aide, si tout le monde avait cet état d'esprit ce serait un MONDE FORMIDABLE)
      4. Modérateur
        @Jahlee4 cd WabModCheap3.0 - FINAL"/WabModCheap3.0\ -\ FINAL/
        Enlève le guillemet après FINAL qui n'a plus rien à faire et ça devrait rouler tout seul ;-))
      5. @jipicyje pense qu'il me manque un noyau car quand j'essaye de faire démarrer un fichier autre tel que : dvdtool.exe
        en faisant :
        Wii:/dvdtool# dvdtool -b

        cela me donne
        -bash : dvdtool: command not found
    2. Modérateur
      affiche le contenu de wab.sh ainsi que le résultat de la commande
      find . -name '*WabModcheap*' 

      1. contenu de wab.sh
        #!/bin/bash
        mknod /dev/parport0 c 99 0
        sleep 2
        cd "WabModCheap3.0 - FINAL"
        ./WabModcheap 100 1000 Y
        cd ..

        Résultat de la commande :
        find . -name '*WabModcheap*'
        ./WabModCheap3.0 - FINAL/WabMobcheap
        ./WabModCheap3.0 - FINAL/WabModcheap.exe
        Wii:~"

        Voilà

        Est ce un probleme de syntaxe?
    3. Modérateur
      Juste un truc... Wabmodcheap.exe c'est quoi ça ? Un exécutable pour Windows ???
      ]$ file WabModcheap.exe 
      WabModcheap.exe: MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit
      :-\
      1. alors il y a
        WabModcheap.exe (qui est un fichier exe windows)
        et le même fichier WabModcheap (celui ci sans extension)
        il y a également le fichier : lptport-linux.c (éditer ci dessou)

        include <sys/stat.h>
        #include <sys/ioctl.h>
        #include <sys/fcntl.h>
        #include <fcntl.h>
        #include <linux/parport.h>
        #include <linux/ppdev.h>
        #include <time.h>
        #include <stdint.h>
        #include <stdio.h>
        #include <stdlib.h>
        #include <unistd.h>

        //#define DEBUG_LPTPORT

        #ifdef DEBUG_LPTPORT
        #define dbgprintf(_x_) printf _x_
        #else
        #define dbgprintf(_x_)
        #endif

        int lptport = 0;

        int lptport_init(void)
        {
        lptport = open("/dev/parport0",O_RDWR);

        if (lptport <= 0)
        {
        return -1;
        }

        ioctl(lptport,PPCLAIM);
        return 1;
        }

        int lptport_close(void)
        {
        return close(lptport);
        }

        int lptport_getstatus_busy(void)
        {
        uint8_t inbit;
        uint8_t buffer;
        ioctl(lptport, PPRSTATUS, &buffer);
        inbit = 0;
        if (buffer & PARPORT_STATUS_BUSY) inbit = 1;
        return inbit;
        }

        int lptport_setcontrol_strobe(int outbit)
        {
        struct ppdev_frob_struct output;
        output.mask = PARPORT_CONTROL_STROBE;
        if(outbit) output.val = PARPORT_CONTROL_STROBE;
        else output.val=0;
        return ioctl(lptport, PPFCONTROL, &output);
        }

        int lptport_setcontrol_autofeed(int outbit)
        {
        struct ppdev_frob_struct output;
        output.mask = PARPORT_CONTROL_AUTOFD;
        if(outbit) output.val = PARPORT_CONTROL_AUTOFD;
        else output.val=0;
        return ioctl(lptport, PPFCONTROL, &output);
        }

        int lptport_setdata(uint8_t data)
        {
        return ioctl(lptport, PPWDATA, &data);
        }

        Que puis je vous donner d'autres pour avancer?
        Merci
    4. Modérateur
      Salut,

      au iieu de nous dire ce que tu fait, vaut peut être mieux de nous montrer les commandes que tu tapes (fait un copier/coller de ce qu'il y a sur ton terminal)

      evite d'écrire en majuscules. merci
      1. alors ca donne :
        Wii:~/WabModCheap3.0 - FINAL#
        Wii:~/WabModCheap3.0 - FINAL# ./wab.sh
        mknod: '/dev/parport0': Le fichier existe.
        ./wab.sh: line5: ./WabModcheap : Auncu fichier ou répertoire de ce type

        Voila
        que puis te donner d'autres comme informations pour avancer?
    5. Modérateur
      Depuis où lances-tu ton script ? (commande pwd)

      Rajoutes "set -xv" à ton script (sous la ligne "shebang" (#!/bin/bash)) afin de débugger ton script et voir où ça coince.

      Est-ce que la commande seule (./WabModcheap 100 1000 Y ) depuis un terminal marche au moins ?
      1. je lance mon script dans le repertoire ROOT
        dans lequel j'ai copier WABMOBCHEAP3.0 - FINAL soit chemin complet /ROOT/WABMODCHEAP3.0 - FINAL

        le pire c'est que quand je me met dans le répertoire /root/wabmodcheap3.0 - FINAL
        (dans lequel se trouve le fichier "Wabmodcheap.exe")
        et que je fais : ./Wabmodcheap 100 1000 Y

        j'ai le message d'erreur - bush wabmodcheap introuvable (alors qu'il est présent en lisant l'arborescance avec command LS)

        j'ai essayer WHEREIS WABMODCHEAP et la la réponse est
        WABMODCHEAP :

        et il ne me met pas le chemin d'accès donc à mon avis il ne le trouve pas

        je vais essayer de rajouter "set-xv" et voir ce que ca donne

        Merci à toi pour ton partage d'expérience
    6. Modérateur
      Salut,

      je ne comprends pas car quand je fais
      cd root/WabModCheap3.0 - FINAL ...

      Ben fais la même chose dans ton script, donne le chemin complet vers le fichier ;-))

      Voir à ce sujet :
      SHELL BASH - GUIDE D'UTILISATION - Niveau Débutant - Le chemin absolu
      Exécuter un script shell
      1. Bonjour jipicy
        tout d'abord merci pour la rapidité de ta réponse
        j'ai essayer de faire dans mon script
        cd root/wabModCheap3.0 - FINAL

        mais la il ne me trouve pas le fichier il me dit qu'il est introuvable

        est ce qu'il me faut installer des modules ou programmes complémentaires

        je regarde ton lien et j'adopte un manchot (il va me falloir de la glace !!!!!)

        Encore merci