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 -e
o x-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-emulator
no inicia un shell por sí solo. Esto solo muestra los ejecutables que se iniciarán con la -e
opción.
Si bien echo
está disponible como ejecutable ( /bin/echo
), read
como bash
comando 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 read
falla, la ventana se cierra antes de que usted la vea.
Esto funcionará:
x-terminal-emulator -e "bash -c 'echo $PATH; read'"
Ahora x-terminal-emulator
inicia un bash
shell que luego se ejecutará echo $PATH; read
. Como echo
y especialmente read
ahora están disponibles como bash
comandos internos, el read
comando no fallará y esperará una entrada, lo que mantiene la ventana abierta hasta que se presione una tecla.