Confusão no comando konsole no linux

1

Eu estava tentando abrir um novo terminal do konsole e um arquivo de origem depois de abri-lo. Eu tentei o seguinte comando:

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

Eu queria que o terminal permanecesse aberto depois de obter o arquivo, mas mesmo com --noclose o novo konsole fecha. Como posso manter o konsole aberto?

    
por sarthak 03.11.2015 / 13:53

1 resposta

0

Acho que você deseja uma sessão interativa depois de executar o arquivo de origem.

O konsole usa as chamadas system () ou popen () para executar o parâmetro -e. source é um bash builtin então você não pode simplesmente chamá-lo.

É difícil dizer ao bash para iniciar comandos e iniciar uma sessão interativa. Existem opções --init-file e --rc-file, mas elas serão usadas em vez dos seus arquivos de configuração usuais. Pode ser inconveniente.

Acho que esse script de shell funcionará para você.

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

Coloque no arquivo "script.sh", torne-o executável e lance dessa forma

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

Acho que você definiu algumas variáveis no seu arquivo. Deve ser exportado se usado em sessões interativas.

export VAR=value

Ou, se você não precisa de uma sessão interativa, pode usar este script

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

Bem. Pode haver um bug no Konsole também. Provavelmente devemos denunciá-lo.

    
por 21.11.2015 / 20:48

Tags