stack de commandes? [shell] - Linux et OS Alternatifs
Marsh Posté le 14-06-2004 à 11:00:40
une sorte de batch live ?
Marsh Posté le 14-06-2004 à 11:11:54
ReplyMarsh Posté le 14-06-2004 à 11:31:13
KevinTheProud a écrit : Oui c'est ça |
Je ne sais pas si les shells intègre ce genre de pile, je pense qu'il serait nécessaire de faire un tour sur les man de bash, csh, zsh(mon préféré). Toutes les fois où j'ai parcouru ces man je n'ai rien vu de semblables. En revanche il y a peut-être à creuser du coté de zsh car on peut définir des fonctions qui permettrait de faire ce que tu veux.
Marsh Posté le 14-06-2004 à 12:38:35
KevinTheProud a écrit : Oui c'est ça |
Le truc le plus facile à faire serait d'utiliser un script qui scrute une la file d'attente des commandes dans un fichier toutes les 2 secondes environ.
Ensuite l'écriture dans cette file peut se faire (avec zsh, je ne customise que lui) en bindant une fonction sur un raccourci clavier qui prend la ligne de commande courante en l'envoie dans la file.
C'est pas du full-shell mais ça peut se faire facilement.
Marsh Posté le 14-06-2004 à 13:20:40
commande 1 && commande 2 && commande 3 && ...
le && conditionne l'éxécution de la deuxième commande sur le succès de la première
EDIT : y'a aussi le ||
EDIT2 : man bash ligne 238
Marsh Posté le 14-06-2004 à 14:07:36
faudrait faire un fifo, lancer un shell qui le scrute et qui exécute les commandes séquantiellement si il y en a. Après y'a plus qu'à écrire les comandes dans le fifo...
heu j'ai pas testé bien sûr hein...
Marsh Posté le 14-06-2004 à 14:10:53
tu peux gèrer ça avec un tableau en bash, ou avec une seule variable (en séparant les commandes par des sauts de ligne par exemple, tu peux gérer cette variable avec sed par exemple).
ensuite, tu lances les commandes avec une boucle et des eval.
pour ce qui est de la modification de la pile pendant l'exécution de la boucle, je ne vois pas ce que tu veux faire exactement.
Tu peux interrompre le script à tout moment avec des signaux (man kill, help trap) ou bidouiller en lançant des processus fils avec des pipes et en lisant la valeur de retour avec $?
Marsh Posté le 14-06-2004 à 14:50:46
minusplus a écrit : faudrait faire un fifo, lancer un shell qui le scrute et qui exécute les commandes séquantiellement si il y en a. Après y'a plus qu'à écrire les comandes dans le fifo... |
Pas idiot le coup des FIFOs, à voir.
Marsh Posté le 14-06-2004 à 18:58:00
Ben chez moi si je tape une commande pendant l'execution d'une autre , elle est executer à la fin.
exemple:
jhe fait un
wget www.bidule.com/groslolo.zip
Là ca downloade pendant plusieurs minute.... et je tape avant la fin:
unzip groslolo.zip
et la commande s'execute dès la fin du download.
Marsh Posté le 15-06-2004 à 14:03:05
Voici un petit script :
#! /bin/sh |
Pour lui envoyer des commandes :
|
Marsh Posté le 15-06-2004 à 15:53:28
Petit problème détecté si la commande précédente n'a pas terminé alors l'envoi sur le tube input est bloquant.
Je vais changer ça.
Marsh Posté le 14-06-2004 à 10:15:29
Bonjour,
j'aimerai savoir si il existe une commande qui permet de gérer une pile de commande à exécuter. Par exemple on exécute la première commande, quand celle-ci à finit de s'excuter la commande suivante dans la pile prend le relai...
Le but ici est de pouvoir rajouter ou enlever des entrées à la pile dynamiquement.