Pages : 1
#1 Le 13/04/2019, à 04:06
- abecidofugy
[Résolu] Enchaîner plusieurs commandes en zsh
Salut,
Euh… pour enchaîner deux commandes, j’utilisais toujours &&
Mais là j’ai un souci : les commandes se font l’une après l’autre, et je dois fermer une application pour pouvoir passer à la suivante (si je ne suis pas clair, désolé).
Ma commande :
konsole --new-tab --workdir ~ && konsole --new-tab --workdir ~ && konsole --new-tab --workdir ~ && konsole --new-tab --workdir ~ && konsole --new-tab --workdir ~ && konsole --new-tab --workdir ~ && konsole --new-tab --workdir ~ && dolphin --split /media/sf_D_DRIVE/Soulseek-downloads/complete /media/sf_D_DRIVE/Musique /home/patrice/soundKonverter trash:/ > /dev/null 2> /dev/null && quassel > /dev/null 2> /dev/null & choqok > /dev/null 2> /dev/null && kontact > /dev/null 2> /dev/null && firefox > /dev/null 2> /dev/null && kate --start start > /dev/null 2> /dev/null &
Si je remplace les && par des ; j’ai le même souci. Si je remplace par un seul & : ça marche, mais si je ferme la konsole à partir de laquelle j’ai tapé la commande, ça me ferme tous les programmes ouverts par cette même commande.
Merci de me rafraîchir la mémoire…
//EDIT : en fait, j’aimerais pouvoir taper mon alias de commande que j’ai mis dans mon .zshrc sans passer par konsole, mais directement via ALT + F2
Dernière modification par abecidofugy (Le 14/04/2019, à 12:03)
En ligne
#2 Le 13/04/2019, à 07:44
- LukePerp
Re : [Résolu] Enchaîner plusieurs commandes en zsh
Bonjour,
Utilises le & seul pour exécuter un autre script et non une autre commande, afin de fermer le terminal initial.
command 1 ; command 2 & sh -c /chemin/script.sh
&& et ; c'est presque pareil mais je n'ai pas compris la différence, j'utilise toujours ; au lieu de &&
Dernière modification par LukePerp (Le 13/04/2019, à 07:45)
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Ethereum user
Hors ligne
#3 Le 13/04/2019, à 07:55
- pingouinux
Re : [Résolu] Enchaîner plusieurs commandes en zsh
Bonjour,
&& et ; c'est presque pareil mais je n'ai pas compris la différence, j'utilise toujours ; au lieu de &&
commande_1; commande_2
commande_2 est exécutée quel que soit le résultat de command_1
commande_1 && commande_2
commande_2 n'est exécutée que si command_1 se termine sans erreur (code de retour égal à 0).
Pour pouvoir fermer le terminal sans tuer la commande qui a été lancée, c'est :
nohup commande &
Mais si les commandes s'enchaînent, je ne sais pas où placer nohup. Il faudrait tester.
Hors ligne
#4 Le 13/04/2019, à 08:05
- abecidofugy
Re : [Résolu] Enchaîner plusieurs commandes en zsh
Ok, alors j'ai fait un alias dans mon .zshrc :
alias go='sh -c ~/bin/go.sh'
Mon script sh :
#!/bin/bash
konsole --new-tab --workdir ~ &
konsole --new-tab --workdir ~ &
konsole --new-tab --workdir ~ &
konsole --new-tab --workdir ~ &
konsole --new-tab --workdir ~ &
konsole --new-tab --workdir ~ &
konsole --new-tab --workdir ~ &
dolphin --split /media/sf_D_DRIVE/Soulseek-downloads/complete /media/sf_D_DRIVE/Musique /home/patrice/soundKonverter trash:/ > /dev/null 2> /dev/null &
quassel > /dev/null 2> /dev/null &
choqok > /dev/null 2> /dev/null &
kontact > /dev/null 2> /dev/null &
firefox > /dev/null 2> /dev/null &
kate --start start > /dev/null 2> /dev/null &
Ça marche, mais ça ne quitte pas le terminal initial.
En ligne
#5 Le 13/04/2019, à 08:26
- pingouinux
Re : [Résolu] Enchaîner plusieurs commandes en zsh
@abecidofugy #4 :
Comme tu appelles ton script avec sh, il n'est pas tenu compte de la première ligne #!/bin/bash.
Essaye ceci :
alias go='nohup sh -c ~/bin/go.sh & exit'
Hors ligne
#6 Le 13/04/2019, à 08:30
- abecidofugy
Re : [Résolu] Enchaîner plusieurs commandes en zsh
@pingouinux :
nohup: les entrées sont ignorées et la sortie est ajoutée à 'nohup.out'
[1] + done nohup sh -c ~/bin/go.sh
En ligne
#7 Le 13/04/2019, à 08:47
- pingouinux
Re : [Résolu] Enchaîner plusieurs commandes en zsh
@abecidofugy #6 :
Ce message est normal, et tu peux rediriger la sortie.
alias go='nohup sh -c ./go.sh >ma_sortie & exit'
D'ailleurs, si tu vois ce message, tu n'as pas dû ajouter l'exit dans l'alias pour fermer aussitôt le terminal.
Hors ligne
#8 Le 13/04/2019, à 08:56
- abecidofugy
Re : [Résolu] Enchaîner plusieurs commandes en zsh
@abecidofugy #6 :
Ce message est normal, et tu peux rediriger la sortie.alias go='nohup sh -c ./go.sh >ma_sortie & exit'
D'ailleurs, si tu vois ce message, tu n'as pas dû ajouter l'exit dans l'alias pour fermer aussitôt le terminal.
Marche pas.
J'ai corrigé par :
alias go='nohup sh -c ~/bin/go.sh > /dev/null 2> /dev/null & exit'
Mais ça ne ferme pas le terminal initial… (j’ai fait un source ~/.zshrc bien sûr)
En ligne
#9 Le 13/04/2019, à 09:23
- pingouinux
Re : [Résolu] Enchaîner plusieurs commandes en zsh
Effectivement, je viens de tester en zsh, et le terminal ne se ferme pas. J'avais fait mes tests en bash.
Hors ligne
#10 Le 13/04/2019, à 18:56
- abecidofugy
Re : [Résolu] Enchaîner plusieurs commandes en zsh
Je suis en train de chercher dans la doc de zsh l’équivalent de exit pour le bash… dur dur…
En ligne
#11 Le 13/04/2019, à 19:26
- Alex10336
Re : [Résolu] Enchaîner plusieurs commandes en zsh
selon https://stackoverflow.com/questions/193 … n/33735937
dolphin &!
« On ne répond pas à une question par une autre question. » (moi ;-) )
Hors ligne
#12 Le 13/04/2019, à 20:25
- abecidofugy
Re : [Résolu] Enchaîner plusieurs commandes en zsh
selon https://stackoverflow.com/questions/193 … n/33735937
dolphin &!
Mon script est en bash
Là je cherche la syntaxe pour appeler le script via un alias zsh, et autofermer le terminal qui l’a lancé.
//EDIT : mon alias est à présent :
alias go='sh -c ~/bin/go.sh &!'
Y’a pas de sortie dans le terminal (merci Alex10336), mais il ne s’autoferme toujours pas.
Dernière modification par abecidofugy (Le 13/04/2019, à 21:15)
En ligne
#13 Le 14/04/2019, à 06:57
- pingouinux
Re : [Résolu] Enchaîner plusieurs commandes en zsh
Essaye ceci :
alias go='~/bin/go.sh &! exit'
Hors ligne
#14 Le 14/04/2019, à 10:52
- abecidofugy
Re : [Résolu] Enchaîner plusieurs commandes en zsh
Essaye ceci :
alias go='~/bin/go.sh &! exit'
OMG ! Ça marche parfaitement !
Bravo et merci !
En ligne
Pages : 1