Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/11/2005, à 12:56

Kako

[Résolu] Question shell script

Hello,

Je cherche à faire un script shell qui prenne en paramètre un nom de fichier et qui construit une ligne de commande avec les informations contenues dans ce fichier.

C'est pour lancer par script des jeux MSDOS sous DosEmu depuis Freevo. Le fichier .cmd contient le chemin complet du jeu à lancer (vu depuis DosEmu, cad avec les limitations du dos).

Par exemple, doom.cmd contiendrait:
d:\games\doom\doom.exe

Et j'aimerais qu'en appelant "script.sh doom.cmd", la commande suivante soit exécutée:

/usr/bin/xdosemu -D-a -I "keystroke 'd:\\games\\doom\\doom.exe\rextiemu\r'"

(Je peux éventuellement mettre les \\ dans le fichier doom.cmd directement)

J'ai lu le man de bash et quelques docs sur le net, mais j'arrive toujours pas à faire ça sad
Si un pro du shell pouvait m'aider, ça serait bien sympa.

Kako

Dernière modification par Kako (Le 22/11/2005, à 14:25)

Hors ligne

#2 Le 22/11/2005, à 13:12

eldadou38

Re : [Résolu] Question shell script

Salut Kako,

    le paramétre doom.cmd peut-être associé à $1 dans ton shell.

    Après il faudrait faire un test sur le paramètre afin de lancer le bon jeu :

       case in $1
       do

          doom.cmd) /usr/bin/xdosemu -D-a -I "keystroke 'd:\\games\\doom\\doom.exe\rextiemu\r'"

          flashback.cmd) /usr/bin/xdosemu -D-a -I "keystroke 'd:\\games\\FlashBack\\fb.exe\rextiemu\r'"

     esac


    Ceci est un exemple (je ne suis pas sur de la bonne syntaxe), mais cela devrait te permettre de faire ce que tu souhaites.

    N'hésites pas si tu as des questions.

A+
El Dadou


In Ubuntu I trust

Hors ligne

#3 Le 22/11/2005, à 14:04

Kako

Re : [Résolu] Question shell script

Salut ElDadou,

Oui c'est une solution, mais qui m'oblige à éditer le script pour chaque nouveau jeu, ce que je voulais éviter. Mais bon faute de mieux, je devrais peut-être m'en contenter.

Maintenant, HS, tu donnes un exemple avec FlashBack, je connais aussi ce jeu, mais je n'arrive pas à le faire fonctionner. Est-ce que tu donnes cet exemple parce que tu l'utilises aussi avec DosEmu ?

Merci
Kako

Hors ligne

#4 Le 22/11/2005, à 14:25

Kako

Re : [Résolu] Question shell script

Kako,

Voici une solution qui utilise le contenu du fichier passé en paramètre...

#!/bin/bash
echo "Starting $*..."
read cmd < $1
/usr/bin/xdosemu -D-a -I "keystroke \"$cmd\""

C'était pas si difficile, même pour un newbie big_smile

Kako

Edit: remplacer 'read cmd < $1' par 'read cmd < "$1"' pour le cas ou le nom du fichier passé en paramètre contient des espaces...

PS: Ben oui, je me réponds à moi-même big_smile

Dernière modification par Kako (Le 22/11/2005, à 14:49)

Hors ligne

#5 Le 22/11/2005, à 15:50

eldadou38

Re : [Résolu] Question shell script

Cool que ca marche !!

En fait, j'ai joué énormément sur mon Amiga, je l'ai trouvé pour PC, mais jamais pu le faire fonctionner même pas emulation dos (dosemu, sous winxp) :-(

A++
El Dadou.


In Ubuntu I trust

Hors ligne

#6 Le 29/11/2005, à 14:40

Kako

Re : [Résolu] Question shell script

Pour Flashback sous Windows et Linux, vas voir http://membres.lycos.fr/cyxdown/reminiscence/.

C'est un portage du runtime de Flashback qui utilise les fichiers de données originaux du jeu.

Kako.

Hors ligne