red.sh: Um script para usar em sessões SSH, para abrir no editor do Mac os arquivos do servidor

Com o red.sh você pode, sem sair do seu SSH para um servidor, fazer com que arquivos localizados nele sejam abertos no editor de textos do desktop do seu Mac.

O red.sh (“Remote EDitor”) é um script shell que você pode instalar em servidores que você acessa via SSH e usar para, quando executado, abrir algum arquivo para edição diretamente no editor de textos do Mac do qual você iniciou a sessão SSH – ou seja, sem se restringir a editores do próprio servidor, como o vim ou o... nano.

Por exemplo, se eu quisesse editar o arquivo .bash_profile de um servidor que acessei via SSH a partir do meu MacBook, eu digitaria red.sh -u augusto .bash_profile e ele seria aberto no BBEdit do Mac (o parâmetro -u augusto diz qual meu nome de usuário no Mac). Quando eu salvá-lo no BBEdit, automaticamente ele será atualizado no servidor.

O red.sh não funciona somente no BBEdit1: usando parâmetros ao chamar o script, você pode instrui-lo a usar qualquer editor que tenha suporte a edição remota via sftp (além do BBEdit, meu preferido, o seu irmão gratuito TextWrangler também tem, e tenho certeza de que há outros).

Peço licença para usar conceitos voltados a usuários intermediários e avançados nas explicações a seguir.

O que o esperto script faz é detectar o endereço do Mac a partir do qual você acessou o servidor, e aí chamar remotamente no editor dele a função de abrir um arquivo remoto via SFTP, passando como parâmetro o caminho do arquivo que você incluiu no comando.

Para que o red.sh possa funcionar, o seu Mac precisa aceitar que conexões SSH sejam feitas a ele (Preferências do Sistema / Compartilhamento / Acesso Remoto) e, se estiver em uma rede doméstica ou interna, o roteador precisa estar configurado (redirecionamento de portas ou similar) para permitir que as conexões SSH cheguem ao Mac.

A página do red.sh no Github explica como instalá-lo globalmente no seu servidor. Eu prefiro instalar em um diretório local do usuário (no meu caso, /home/augusto/bin) incluído no PATH, e para mim os comandos de instalação seriam assim:

cd ~/bin
curl -k -L http://atj.me/u/red.sh > red.sh
chmod +x red.sh

Adeque-os às suas demandas, com atenção à segurança.

Depois de instalar, rode o red.sh sem parâmetro nenhum, para ver suas instruções, que oferecem várias opções adicionais de uso e de conexão.

Dica: Se a versão do shell Bash do seu servidor for antiga, é possível que você encontre uma mensagem de erro na linha 123. Caso aconteça, você pode resolver substituindo a função normalize_path (da qual essa linha faz parte) pela segunda versão dessa mesma função que consta neste artigo. Ou peça para o administrador do servidor disponibilizar um Bash mais recente...

Dê também uma boa olhada nas instruções do site sobre como criar um alias para o red.sh que evite ter de informar todas as vezes o nome do usuário a usar no Mac, e sobre as alternativas que podem permitir não ter de digitar senhas de conexão (nas duas direções) para abrir os arquivos do servidor no Mac.

Confira: red.sh.

 
  1.  Mas procura o BBEdit como default.

Comentar

Comentários arquivados

Mais acessados:

Artigos recentes: