Executando um comando em uma nova instância de terminal em um script bash

Executando um comando em uma nova instância de terminal em um script bash

Eu tenho um script bash onde defino minhas configurações de proxy automaticamente. Eu criei alguns aliases no .bash_aliasesarquivo. Agora há um comando onde eu ssh em meu servidor remoto e faço algum encaminhamento dinâmico de porta e essencialmente crio um proxy de meias. Portanto, preciso definir minhas configurações de proxy de acordo.

O comando se parece com:

proxy off && ssh -D <port> <username>@<hostaddress>

Eu criei o alias do comando acima e quando digito o alias no terminal, estou conectado ao meu servidor remoto com sucesso. No entanto, depois de fazer isso, preciso executar outro comando em uma nova janela de terminal para configurar meu proxy de meias recém-criado. Basicamente eu só preciso executar:

proxy socks #It configures my laptop to use the socks proxy

Não posso fazer isso na mesma janela do terminal e apenas &&após o comando ssh porque isso significaria que estou tentando executar o comando no servidor remoto. Quero executar este comando no meu laptop.

Existe alguma maneira de executar o segundo comando em uma nova janela de terminal em uma única linha, como canalizamos ou comandos diferentes? É realmente ineficiente abrir uma nova aba no terminal toda vez que faço ssh em meu servidor remoto, apenas para poder digitar um único comando para configurar meu proxy e depois fechar essa aba porque não preciso mais dela.

Responder1

Em vez disso, tente assim:

port=1234
remote=username@host
proxy off && ssh -fND $port $remote && proxy socks

O -fsinalizador diz sshpara ir para segundo plano e -Ndiz para não executar comandos, apenas encaminhar portas. Desta forma você pode continuar trabalhando em seu terminal atual.

informação relacionada