Confusión en el comando de konsole en Linux

Confusión en el comando de konsole en Linux

Estaba intentando abrir una nueva terminal de consola y un archivo fuente después de abrirlo. Probé el siguiente comando:

konsole -T hello --noclose -e "source file"

Quería que la terminal permaneciera abierta después de obtener el archivo, pero incluso con --noclosela nueva consola cerrada. ¿Cómo puedo mantener la consola abierta?

Respuesta1

Supongo que quieres una sesión interactiva después de ejecutar el archivo fuente.

Konsole usa llamadas system() o popen() para ejecutar el parámetro -e. La fuente es una función incorporada de bash, por lo que no puedes simplemente llamarla.

Es difícil decirle a bash que ejecute comandos y luego inicie una sesión interactiva. Hay opciones --init-file y --rc-file pero se usarán en lugar de los archivos de configuración habituales. Puede que sea un inconveniente.

Creo que este script de shell funcionará para ti.

#!/usr/bin/env bash
source file
exec bash    

Ponlo en el archivo "script.sh", hazlo ejecutable y ejecútalo de esa manera.

# Edit script.sh
chmod +x script.sh
konsole -e ./script.sh

Supongo que configuraste algunas variables en tu archivo. Debe exportarse si se usó en una sesión interactiva.

export VAR=value

O si no necesita una sesión interactiva, puede usar este script

#!/usr/bin/env bash
source file
echo "Press enter to exit"
read   

Bien. Puede que también haya un error en la consola. Probablemente deberíamos informarlo.

información relacionada