Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 24 895 615

  • Nb. de membres 186
  • Nb. d'articles 1 269
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  OS4 toutes plateformes confondues »» [Résolu] - AmigaDOS : comment exécuter plusieurs commandes sur une même ligne ?

[Résolu] - AmigaDOS : comment exécuter plusieurs commandes sur une même ligne ?#1299

4Contributeur(s)
zzd10hsinisrusCreolsElwood
3 Modérateur(s)
K-LElwoodcorto
zzd10h zzd10hicon_post
Bonjour,
Je sens que c'est une question de base mais je ne trouve pas la réponse...

Comment faire pour sérialiser 2 commandes sous AmigaDOS ?

Je ne souhaite lancer la commande 2 qu'à la fin de la commande 1.

Un truc du style

wget toto.mp4 && mplayer toto.mp4

J'ai essayé les PIPE:

Pipe wget toto.mp4 -O toto.mp4 | mplayer toto.mp4

Ou wget toto.mp4 >PIPE:toto.mp4 | mplayer < PIPE:toto.mp4

Et les séparateurs & && ;

Je n'ai rien trouvé,
Est-ce qu'une âme charitable pourrait m'éclairer ?

Merci à vous

Message édité par : zzd10h / 19-04-2012 22:15
Message édité par : zzd10h / 19-04-2012 22:17
Message édité par : Elwood / 20-04-2012 23:55
sinisrus sinisrusicon_post
Il faut récuperer le fichier de destination de la premiere commande et le metre comme source de la seconde commande. par exemple : commande1 'video.mpg' vers 'ram:video.avi' commande2 'ram:video.avi' vers 'ram:videofinal.wmv'
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
zzd10h zzd10hicon_post
Merci pour ta réponse Sinisrus mais je ne comprends pas la syntaxe...

Ce que je souhaite c'est que dans une méme ligne de commande le lancement de cmd_2 soit conditionné à la fin d'exécution (bonne ou mauvaise) de cmd_1.

Par exemple, je veux télecharger une video toto.mp4 que je place dans RAM:toto_out.mp4, et ensuite à la fin du téléchargement je veux la lire avec mplayer.

-> mettre dans une même commande

wget http://toto.mp4 -O RAM:toto_out.mp4 et ensuite mplayer RAM:toto_out.mp4

Est-ce possible ?
sinisrus sinisrusicon_post
En amigados tu peu pas le faire autrement que comme dans ton exemple il me semble
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
zzd10h zzd10hicon_post
Mais aucun de mes exemples ne fonctionnent :(
Creols Creolsicon_post
Citation : zzd10h?

-> mettre dans une même commande

wget http://toto.mp4 -O RAM:toto_out.mp4 et ensuite mplayer RAM:toto_out.mp4

Est-ce possible ?

Dans un shell, tu tapes :
5.> wget http://toto.mp4 -O RAM:toto_out.mp4 Suivi de Entrée. Cettte première commande s'exécute et, sans attendre la fin, tu tapes :

mplayer RAM:toto_out.mp4

La deuxième commande ne démarrera que lorsque la première sera terminée.

Tu peux essayer, ensuite, d'automatiser un peu en écrivant un script dos qui fera la même chose !
0
zzd10h zzd10hicon_post
Merci à tous les 2,
donc c'est le shell qui sérialise lui-même les commandes.

en REXX
ADDRESS COMMAND toto
ADDRESS COMMAND tata

fonctionne, tata attend toto :)

merci
Elwood Elwoodicon_post
Pas besoin de faire de l'Arexx pour ça. Un simple script AmigaDOS suffit avec :

commande1
commande2

C'est le fonctionnement par défaut. C'est si tu veux exécuter "commande1" sans que cela bloque l'exécution qu'il faut faire un :

run commande1

Mais il n'existe pas de caractère "et" pour lancer 2 commandes sur la même ligne.
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !

Message édité par : Elwood / 20-04-2012 23:46
zzd10h zzd10hicon_post
Merci pour la précision Elwood,
j'avais besoin de cela dans un rexx,
J'avais essayé RUN pour ne pas bloquer mon rexx en faisant

Address command RUN toto
Address command tata

-> tata et toto partent en même temps -> KO

Address command RUN toto
Address command RUN tata

-> tata et toto partent en même temps dans 2 thread différents -> KO

Le top serait de ne pas bloquer l'exécution du rexx initial mais est-ce possible ?

tu verrais un moyen de lancer 2 commandes en série depuis un script sans figer celui-ci (simplement, sans passer par l'appel en RUN d'un autre script) ?

Merci pour ton (votre) aide


Elwood Elwoodicon_post
Citation : zzd10h?
Address command RUN toto
Address command RUN tata

-> tata et toto partent en même temps dans 2 thread différents -> KO

Ben oui vu que tu mets "run" qui lance la commande en tâche de fond, l'exécution continue immédiatement.
Enlève le "run" et ça roule.

On dirait que tu as compris le "run" à l'envers...
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !

Message édité par : Elwood / 23-04-2012 11:24
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme