De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

O comando ftp e o arquivo .netrc

Colaboração: Marcelo Dunin Beckmann

Data de Publicação: 18 de Março de 2005

Quem usa muito constantemente o comando ftp deve achar incômodo ter que a toda hora digitar o nome de usuário e senha. Em outros casos, tem-se a necessidade de usar o ftp de forma automática em algum script do dia a dia.

Existe a possibilidade de usar a excelente ferramenta expect (http://expect.nist.gov). Mas dia desses lendo páginas de manual, encontrei referências ao arquivo ~/.netrc, e me pareceu muito útil e mais simples de usar.

Por exemplo, a linha:

  machine ftp.foo.bar login usuario password senha

faz com que o comando

  ftp ftp.foo.bar

efetue a conexão sem a necessidade de se digitar usuário e senha.

Caso se queira informar apenas o usuário, basta deixar a linha

  machine ftp.foo.bar login usuario

que nesse caso a senha será solicitada.

Pode-se também definir macros, e caso uma macro de nome init esteja definida, ela será sempre executada após o processo de login. A definição da macro inicia-se com a palavra macdef, e termina após ser encontrada uma linha vazia (dois caracteres de nova linha consecutivos). Isso é útil para executar automaticamente alguns comandos, por exemplo:

  machine ftp.foo.bar login usuario password senha
  macdef init
  bin
  tick
  ls

Podemos aproveitar essa facilidade do ~/.netrc para uso do ftp em scripts. Por exemplo, um script para atualizar automaticamente os arquivos .html e .jpg:

  #!/bin/bash
  ftp ftp.foo.bar << EOF
  prompt
  mput *.jpg
  mput *.html
  ls
  bye
  EOF

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Marcelo Dunin Beckmann