¿Cuál es la estructura de comando para abrir una nueva terminal y ejecutar el conjunto de comandos dado en esta nueva terminal?

¿Cuál es la estructura de comando para abrir una nueva terminal y ejecutar el conjunto de comandos dado en esta nueva terminal?

Estoy en Linux Mint 19.03

En primer lugar, puedo asegurarles que he leído la mayoría de las posibles preguntas de las que podría pensar que esta pregunta mía es un duplicado.

Ahora, básicamente quiero escribir algo en la ventana de mi terminal para abrir una nueva ventana de terminal y ejecutar los comandos.

Algo como esto:

[the part I am asking of] "echo $PATH; read"

Este código debería abrir una nueva terminal, la variable $PATH debería mostrarse y leerse es solo para detener la terminal.

Intenté  x-terminal-emulator -ex-terminal-emulator -c o  -x pero nunca pude lograr hacer esto correctamente. Todas las respuestas en este SE a preguntas similares son respuestas antiguas y usaban -e o -x, pero dice que esas opciones están obsoletas.

Entonces, ¿cuál es la forma más adecuada de lograrlo?

Gracias.

Respuesta1

x-terminal-emulatorno inicia un shell por sí solo. Esto solo muestra los ejecutables que se iniciarán con la -eopción.

Si bien echoestá disponible como ejecutable ( /bin/echo), readcomo bashcomando interno fallará sin bash. Por lo tanto, la salida en la nueva ventana se realiza más rápido de lo que se necesita para abrir la ventana y, si readfalla, la ventana se cierra antes de que usted la vea.

Esto funcionará:

x-terminal-emulator -e "bash -c 'echo $PATH; read'"

Ahora x-terminal-emulatorinicia un bashshell que luego se ejecutará echo $PATH; read. Como echoy especialmente readahora están disponibles como bashcomandos internos, el readcomando no fallará y esperará una entrada, lo que mantiene la ventana abierta hasta que se presione una tecla.

información relacionada