Restaurando a sessão depois de executar um script de shell

2

De um script bash que ocupa o terminal completo, como restauro a sessão anterior?

Alguns programas dos quais sei que funcionam assim:

  • ranger
  • vim
  • homem
  • nano

O padrão comum é: O programa usurpa todo o terminal e, ao sair, tudo é restaurado, ou seja, comandos inseridos e saída impressa.

    
por tillyboy 31.05.2018 / 01:18

1 resposta

2

Você deve usar as opções terminfo cup . Isso pode ser feito a partir de um shell com o comando tput .

por exemplo

tput smcup
clear
echo hello
echo there
read
tput rmcup

Isso limpará a tela, imprimirá duas linhas, aguardará que você pressione RETURN e restaure a tela para onde estava antes.

Isso requer que a definição terminfo do seu terminal suporte isso, é claro. Nem todos os terminais têm capacidade.

    
por 31.05.2018 / 01:48