Execute um comando em um terminal e, quando completo, deixe o comando no terminal

0

Eu tenho um problema em que preciso iniciar um comando a partir de um terminal e deixar o terminal aberto com o comando que usei quando estiver concluído. A razão é que, dependendo de certas circunstâncias, posso precisar executá-lo novamente.

Eu escrevi um script bash para executar vários comandos de terminal, parece com isso

$ launch.bash /path/to/data

E o snippet parece

xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1; bash"

O que isso vai fazer agora é iniciar o script python e quando ele for concluído, ele imprimirá o comando que usei. Seria bom imprimir o comando na própria linha de comando, para que eu possa apertar enter. Existe uma maneira de fazer isso?

    
por Otto Nahmee 14.03.2017 / 18:32

1 resposta

4

Para reinserir o comando na linha de comando não é uma coisa fácil de fazer (sem emular um teclado no software, não sei de outra maneira). O que você pode fazer é executar novamente o comando ao pressionar enter:

while true
do
    xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1"
    echo "Press enter to run the command again or CTRL+C to cancel"
    read
done

Ou você pode simplesmente pressionar para voltar ao último comando executado e pressionar enter.

    
por 14.03.2017 / 18:46