web-dev-qa-db-fra.com

Existe-t-il une différence entre la commande d'exécution dans le terminal et ALT + F2?

Pour exécuter des commandes directes, il y a deux façons.

  • Soit courir dans le terminal
  • Ou exécutez le dialogue "Exécuter la commande" (écran ci-dessous) obtenu à partir de Alt+F2

enter image description here

Alors, y a-t-il une différence entre eux? (même travail & Shell) ou redirige vers le même?

5
Pandya

Je ne pense pas qu'il y ait une différence entre les deux, il est juste qu'une fois que vous exécutez une commande en utilisant Alt + F2 le tiret se ferme avant de voir les résultats/la sortie. Mais il est utilisé selon un but différent comme suit.

Utilisation Alt + F2 lors de l'exécution de commandes qui n'attendaient aucune sortie ou qui ouvraient une application externe. Exemple: gksu nautilus qui ouvre une fenêtre Nautilus racine.

Pour les commandes qui attendaient une sortie - ls, rm, find, update, upgrade, install, etc., il est recommandé d'utiliser le terminal. .

2
Parto

Oui! Au départ, j'ai dit non car les différences sont relativement nulles puisque les mêmes fichiers binaires traitent la commande à la fin. Cela dit, CTRL + ALT + F # et la cmd Quick-Run sont des terminaux virtuels différents. Il doit donc y avoir de petites différences, comme le fichier .bashrc ne sera pas chargé pour les commandes Quick-run. Ainsi, les commandes pseudonymes que vous avez configurées ne fonctionneront pas, etc.

2
Banned_User

Je penserais oui. Je n'utilise jamais le Alt-F2.

Si vous écrivez un petit script Shell, vous devriez voir la différence dans l'environnement, le cas échéant:

#!/bin/sh
set

Je ne suis pas trop sûr où la sortie va dans le cas de Alt-F2. Si nécessaire, redirigez dans un fichier:

#!/bin/sh
set >/tmp/set.txt

En dehors de cela, j'imagine que c'est assez proche. Il est évident que stdin et stdout peuvent ne pas être connectés à un téléscripteur lors de l'utilisation de la touche Alt-F2 et que l'application n'est attachée à rien, ce qui signifie que l'opération est similaire à son exécution dans une console avec le &.

Dans votre console:

$ my-app &

(le $ représente l'invite)

0
Alexis Wilke