Les pages de manuel indiquent:
-e, --command=STRING
Execute the argument to this option inside the terminal.
-x, --execute
Execute the remainder of the command line inside the terminal.
À quoi fait référence la "ligne de commande" dans le deuxième exemple? Et quel est son "reste"? Pourriez-vous s'il vous plaît donner un exemple où ces deux options diffèrent? Ou sont-ils fondamentalement les mêmes?
command-line
gnome-terminal
stackzebra
la source
la source
Réponses:
Considérer:
Dans le premier exemple, tout ce qui suit
-x
est utilisé pour l'exécution de la commande. Le terminal GNOME s'exécutera doncsleep 10m --version
comme la commande.--version
dans ce cas fait partie de la commande à exécuter par GNOME Terminal.Dans le second, seul l'argument de chaîne unique
-e
est utilisé comme commande, rien d'autre.--version
Voici donc en fait une option pour GNOME Terminal.Le premier peut être plus utile si vous souhaitez exécuter une chaîne de commandes:
C'est difficile à faire
-e
, car la commande entière doit être une seule chaîne, vous devrez donc citer le tout. Cela signifie à son tour que vous devez faire plus attention aux guillemets et à l'expansion des variables et autres:Ici,
$foo
sera développé par le shell actuel.L' utilisation
'
dans la chaîne de commande implique la manipulation de devis ennuyeux.la source