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 05/10/2015, à 12: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, à 13: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, à 13:06

nany

Re : ouvrir plusieur application à la suite via une variable.

Bonjour,


lire="eog & gnome-calculator &"

Hors ligne

#4 Le 05/10/2015, à 13:19

Watael

Re : ouvrir plusieur application à la suite via une variable.

salut,

àmha, c'est une mauvaise habitude à ne pas prendre wink

avec un alias, plutôt ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 05/10/2015, à 13: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, à 13:28

nany

Re : ouvrir plusieur application à la suite via une variable.

Watael a écrit :

salut,

àmha, c'est une mauvaise habitude à ne pas prendre wink

+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,

Watael, dans sa signature, a écrit :

eval, c’est mal.

tongue

Dernière modification par nany (Le 05/10/2015, à 13:34)

Hors ligne

#7 Le 05/10/2015, à 13: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, à 13:43

nany

Re : ouvrir plusieur application à la suite via une variable.

pingouinux a écrit :

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, à 14:21

sergeG75018

Re : ouvrir plusieur application à la suite via une variable.

Merci à vous.
C'est dommage, eval fonctionnait bien.

nany a écrit :

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, à 17: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, à 19: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, à 19: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.

Hors ligne

#13 Le 09/10/2015, à 11: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