Quero acesso programático local à saída ssh no Mac Terminal.
Primeiro, tentei redirecionar a saída de cada comando para um arquivo. O arquivo estava perfeito, mas é claro que estava no servidor remoto, e um sftp para cada saída de comando parecia um pouco ... pesado.
Em seguida, tentei usar o Applescript Terminal, mas ele só dá acesso ao texto atualmente visível em uma guia (ou seja, se metade da saída já estiver fora da vista, ela não será retornada - inútil).
Por último, tentei canalizar o ssh para o tee (por exemplo, ssh user @ host | tee output.txt). Isso quase funcionou. Eu tenho a saída em um arquivo local, mas há muitos caracteres indesejados misturados. Por exemplo, toda vez que pressiono backspace, há um ^ H no arquivo. Há também um texto como "[0m [K", do qual é mais difícil se livrar.
Como obtenho essa saída ssh de maneira limpa localmente?
fonte
sed
parece lutar com isso. Eu atualizei meu comando para você.Uma solução muito básica para limpar a saída seria a seguinte:
No entanto, não sei como recuperar isso em um arquivo. Por exemplo, dado o arquivo
isso resulta na seguinte saída:
Você também pode registrar uma sessão com
script
. Portanto, sempre que você entrar na sessão SSH, primeiro digiteque abrirá um novo shell e registrará todas as suas ações sem a necessidade de redirecionar a saída ou algo assim. Quando terminar, apenas
exit
a concha. Se o servidor SSH de remoção não tiverscript
, você pode executá-lo no OS X, mas a saída do SSH será distorcida novamente.fonte