Forum Programmation.shell le mot de passe gene le script LFTP

Posté par  .
Étiquettes : aucune
0
17
sept.
2008
Bonjour,

J'essaie de faire un script avec la commande lftp. Le soucis c'est que j'ai un mot de passe très compliqué avec des meta caractère, du style %ftp&23b#
Je set donc ma variables $pass comme ceci :
pass=`echo %ftp&23b#`

mais la commande suivante :
lftp -c "open $host; user $user $pass ; get file.zip ; bye"

me donne l'erreur suivante :
Commande inconnue « 23b# ».

C'est bien que lftp a interpréter le meta caractère " & "
Comment faire pour que lftp prenne le mot de passe en entier ?
  • # shell à vie

    Posté par  . Évalué à 5.

    pass="%ftp&23b#" est je pense suffisant. Tu peux ensuite faire:

    lftp -c 'open $host;user $user "'$pass'";get file.zip;bye'

    ou

    lftp -c "open $host;user $user '"$pass"';get file.zip;bye"

    Côté sécurité, le mot de passe est visible quand tu listes les processus :( (bon, ftp c'est déjà pas top, mais c'est un autre débat).
    • [^] # Re: shell à vie

      Posté par  . Évalué à 2.

      La commande suivante fonctionne :
      lftp -c "open $host;user $user '"$pass"';get file.zip;bye"

      Merci Ecid
    • [^] # Re: shell à vie

      Posté par  (Mastodon) . Évalué à 4.


      (bon, ftp c'est déjà pas top, mais c'est un autre débat).

      D'autant plus que lftp ne fait pas que du ftp. Il peut faire du sftp par exemple (mais dans ce cas la on utiliserait justement des paires de clés plutôt qu'un mot de passe).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.