Considerar:
gnome-terminal -x sleep 10m --version
gnome-terminal -e 'sleep 10m' --version
En el primer ejemplo, todo lo que -x
sigue se usa para ejecutar el comando. Entonces GNOME Terminal se ejecutará sleep 10m --version
como el comando. --version
en este caso se convierte en parte del comando que ejecutará GNOME Terminal.
En el segundo, solo -e
se utiliza el argumento de cadena única como comando, nada más. Entonces, --version
aquí hay una opción para GNOME Terminal.
El primero puede ser más útil si desea ejecutar una cadena de comandos:
gnome-terminal -x bash -c 'command 1; command 2; ...'
Esto es difícil de hacer -e
, porque todo el comando debe ser una sola cadena, por lo que tendrá que citar todo. Esto, a su vez, significa que debe tener más cuidado con las cotizaciones y la expansión de variables y tales:
gnome-terminal -e "bash -c 'command 1 $foo; command 2; ...'"
Aquí, $foo
se expandirá por el shell actual.
gnome-terminal -e 'bash -c "command 1 | awk '\''{print $NF}'\''"'
Usar '
dentro de la cadena de comando implica un manejo molesto de comillas.