#1 Le 05/10/2015, à 11:54
- sergeG75018
ouvrir plusieur application à la suite via une variable.
Bonjour.
J'ai besoin d'éxécuter plusieurs application les une après les autres, pour ce j'utilise &&.
Mais je voudrais mettre ça dans une variable.
lire="eog"
echo $lire
eog
$lire #Ça, ça marche, eog s'ouvre bien
lire="eog && gnome-calculator"
echo $lire
eog && gnome-calculator #la ligne de commande s'affiche bien
$lire #et là ça marche pas
Qu'est-ce que je dois mettre dans ma variable pour prendre en compte les &&
Merci d'avance.
Ironie, sarcasme ou cynisme? Je ne sais plus
Hors ligne
#2 Le 05/10/2015, à 12:04
- pingouinux
Re : ouvrir plusieur application à la suite via une variable.
Bonjour,
Essaye
eval "$lire"
eval est une commande à utiliser avec précaution. Dans ton cas, il faut être sûr du contenu de $lire
Hors ligne
#3 Le 05/10/2015, à 12:06
- nany
Re : ouvrir plusieur application à la suite via une variable.
Bonjour,
lire="eog & gnome-calculator &"
Hors ligne
#4 Le 05/10/2015, à 12:19
- Watael
Re : ouvrir plusieur application à la suite via une variable.
salut,
àmha, c'est une mauvaise habitude à ne pas prendre
avec un alias, plutôt ?
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#5 Le 05/10/2015, à 12:24
- pingouinux
Re : ouvrir plusieur application à la suite via une variable.
@nany :
Sans eval, ta commande va lancer eog avec '&', gnome-calculator et '&' comme paramètres.
Hors ligne
#6 Le 05/10/2015, à 12:28
- nany
Re : ouvrir plusieur application à la suite via une variable.
salut,
àmha, c'est une mauvaise habitude à ne pas prendre
+1
avec un alias, plutôt ?
Je choisirais plutôt une fonction.
function multiprog() { eog & gnome-calculator & }
@pingouinux : en effet, je n’avais pas testé. Mais,
eval, c’est mal.
Dernière modification par nany (Le 05/10/2015, à 12:34)
Hors ligne
#7 Le 05/10/2015, à 12:37
- pingouinux
Re : ouvrir plusieur application à la suite via une variable.
eval, c’est mal.
C'est sûr que c'est à manipuler prudemment, mais lancer l'exécution d'un script peut aussi s'avérer dangereux. Dans les deux cas, il ne faut pas agir à l'aveuglette.
Pour le problème initial, alias et fonction sont en effet tout-à-fait indiqués.
Hors ligne
#8 Le 05/10/2015, à 12:43
- nany
Re : ouvrir plusieur application à la suite via une variable.
C'est sûr que c'est à manipuler prudemment, mais lancer l'exécution d'un script peut aussi s'avérer dangereux. Dans les deux cas, il ne faut pas agir à l'aveuglette.
C’est sûr. ^^
Je n’ai jamais compris la réelle utilité d’eval.
Tout comme je ne comprends pas non plus le besoin de stocker une commande dans une variable.
Hors ligne
#9 Le 05/10/2015, à 13:21
- sergeG75018
Re : ouvrir plusieur application à la suite via une variable.
Merci à vous.
C'est dommage, eval fonctionnait bien.
Tout comme je ne comprends pas non plus le besoin de stocker une commande dans une variable.
Parce-que j'en suis pas encore aux fonctions mais bon, je m-y mets.
Merci encore.
Ironie, sarcasme ou cynisme? Je ne sais plus
Hors ligne
#10 Le 05/10/2015, à 16:00
- pingouinux
Re : ouvrir plusieur application à la suite via une variable.
@sergeG75018 :
La fonction de nany #6 va lancer les 2 commandes simultanément, alors qu'il me semble que tu voulais les exécuter successivement.
Pour n'exécuter la seconde commande que si la première s'est bien terminée, tu peux aussi faire ceci :
for cmd in eog gnome-calculator;do "$cmd" || break; done
Hors ligne
#11 Le 07/10/2015, à 18:15
- sergeG75018
Re : ouvrir plusieur application à la suite via une variable.
Bonjour.
J'ai découvert les fonctions grace à vous, j'avais peur de m'y mettre mais en fait c'est très pratique qu'en on utilise des structure if et des sous-shell, ça éclaircis le code.
J'ai fais simple
function test () {
eog &&
mate-terminal
}
D'ailleur si vous savez redémarrer un sous-shell je suis preneur, j'ouvrirai peut-être un post plus tard.
merci encore.
Ironie, sarcasme ou cynisme? Je ne sais plus
Hors ligne
#12 Le 07/10/2015, à 18:58
- Watael
Re : ouvrir plusieur application à la suite via une variable.
pour quoi faire ?
une fonction peut s'exécuter dans un sous-shell :
maFonc () ( eog && mate-terminal )
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#13 Le 09/10/2015, à 10:55
- sergeG75018
Re : ouvrir plusieur application à la suite via une variable.
Bonjour.
J'ai un script A qui lance un script B et se met en attente, lorsque le cript B a fini son travail le script A reprend le sien.
Je ne vois pas d'autre solutions pour obtenir ce type actions.
Ironie, sarcasme ou cynisme? Je ne sais plus
Hors ligne