Was ist der Unterschied zwischen „xterm -e $COMMAND“ und „$COMMAND“ innerhalb von „xterm“?

Was ist der Unterschied zwischen „xterm -e $COMMAND“ und „$COMMAND“ innerhalb von „xterm“?

Ich bin überrascht, dass es Unterschiede gibt zwischen der Führung eines$COMMAND In xtermund läuft xterm -e $COMMAND.

Als Beispiel: Wenn ich tmuxals Programm innerhalb ausführe xterm, erhalte ich ein anderes Verhalten, als wenn ich es tmuxin einer laufenden xtermInstanz aufrufe. Insbesondere vimerhält es andere Farben (der Aufruf innerhalb eines laufenden xtermverhält tmuxsich entsprechend meiner vim+tmux+xterm-Konfiguration, während die Ausführung in einem xterm -e tmuxnicht konfigurierte Farben ergibt).

Ich versuche nicht, das tmuxProblem speziell zu beheben – das ist nicht der Grund, warum ich hier bin. Ich möchte genau wissen, wann ich zwischen der Ausführung eines Befehls in xtermund der Ausführung eines Befehls über Probleme haben werde, damit ich selbst beurteilen kann, ob ich es überhaupt als grafische Benutzeroberfläche für Verknüpfungen zu Terminalanwendungen xterm -e $COMMANDverwenden möchte .xterm

Was ist der Unterschied zwischen xterm -e $COMMANDund xterm--> $COMMAND?

Antwort1

Wenn du rennstxterm -e $COMMAND, es läuft nicht IhreHülse(das die Initialisierung durchführt). Es läuft einfach$COMMAND(ohne denHülse).

DerHandbuchseitesagt

   -e program [ arguments ... ]
           This option specifies the program (and its command line
           arguments) to be run in the xterm window.

Undspäter

   XTERM_SHELL
        is set to the pathname of the program which is invoked.  Usually
        that is a shell program, e.g., /bin/sh.  Since it is not
        necessarily a shell program however, it is distinct from "SHELL".

verwandte Informationen