Su error específico es causado por no usar la --execute
opción correctamente. Si observa el extracto de la página de manual a continuación, notará que --execute
no tiene un signo igual listado como parte de la sintaxis, ya que simplemente ejecuta todo el resto de la línea de comando. Un ejemplo de uso correcto sería:
gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'
NOTA IMPORTANTE: El
uso cd
es un caso un poco especial, de todos modos. cd
no es como la mayoría de los comandos: no inicia un binario / ejecutable propio. Es interpretado directamente por bash
(o cualquier shell que esté usando). Por lo tanto, intentar invocar cd
no está de acuerdo con los indicadores --execute
y -x
(que parecen querer generar directamente un proceso secundario). El mismo problema ocurrirá (lo he comprobado) con otros comandos que son procesados directamente por bash
like home
. Incluso si se usa correctamente, sin el signo igual, todavía dará como resultado un error: "Archivo o directorio no encontrado". Por lo tanto, usar esta --working-directory=[DIRECTORY]
opción es su mejor opción para hacer lo que quiere hacer.
OTRA NOTA IMPORTANTE:
Incluso si este no fuera el caso, aún tendría problemas. El problema radica en tratar de usar la --execute
opción cuando realmente tiene la intención del significado de la --command
opción. En la documentación de la página de manual, establece específicamente
-e, --command = STRING
Ejecuta el argumento de esta opción dentro del terminal.
-x, --execute
Ejecuta el resto de la línea de comando dentro del terminal.
(énfasis mío)
En otras palabras, probablemente no lo analizará de la forma en que cree que debería. El uso le --execute
impide pasar otras opciones a gnome-terminal
.
Un extracto de uno de mis propios scripts donde ejecuto múltiples comandos en pestañas separadas (nombres cambiados para mi privacidad / seguridad):
gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"
(Incidentalmente, tratar de usar la --command
bandera con cd
o home
también resultará en el familiar error "No existe tal archivo o directorio").
Espero que esto no sea demasiado largo. Solo intento ser minucioso.