Estou tentando fazer um script simples para envolver um comando de forma que ele seja executado com uma tela trocada. O alvo principal é top
, mas eu queria que fosse um wrapper geral.
Eu consegui rodar bem com o bash mas eu quero fazê-lo funcionar com traço , ash ou qualquer outro shell simples que possa ser usado como /bin/sh
. A questão é que quando eu interrompo o comando wrapped com Ctrl + C, isso interrompe o script também.
O script bash tem esta aparência:
#!/bin/bash
tput smcup
( "$@" )
status=$?
tput rmcup
exit $status
Eu sei que eu poderia ter usado o comando bash trap
, mas isso teria tornado ainda mais bash -específico, e é exatamente isso que estou tentando para evitar.
Curiosamente, com o busybox sh ele funciona como esperado.
Então, existe uma maneira de fazer com que ele funcione com qualquer outra shell sh -type sem ser interrompido quando eu interromper o comando em execução, para que o comando tput rmcup
sempre seja executado? ?
Observação: Li as perguntas link e link , mas nenhum deles respondeu isso.
Tags signal shell-script