Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/05/2007, à 09:26

toufalk

[résolu][bash-script]espaces dans variable = problème

Je m'amuse ssh:
Je voudrais faire un script pour envoyer un fichier par scp, puis tester si il est bien sur l'ordi distant.
Je choisie un fichier avec zenity, puis je l'envoie sur un ordi distant avec scp. Jusque là, tout va bien.

Mon problème, c'est après : si il y a des espaces dans le nom du fichier, ça ne va plus:

toufalk@laptop:~$ envoie-teste 03\ -\ Le\ jazz.ogg
envoi du fichier...
03 - Le jazz.ogg                              100% 5608KB   5.5MB/s   00:00
teste du fichier:
ls: 03: No such file or directory
ls: -: No such file or directory
ls: Le: No such file or directory
ls: jazz.ogg: No such file or directory

voici mon script:

#!/bin/bash

if test -e "$1"
then
    echo "envoi du fichier..."
    scp "$1" distant:
    echo "teste du fichier:"
    ssh distant ls -l "$1"
else
    echo "Le fichier $1 n'existe pas..."
    exit 1
fi

Comment faire pour faire comprendre à ls que c'est un seul fichier?

Dernière modification par toufalk (Le 21/05/2007, à 12:18)

Hors ligne

#2 Le 21/05/2007, à 10:57

toto4455

Re : [résolu][bash-script]espaces dans variable = problème

en rajoutant les \" cela devrait passer . ( cmd="ls -l \"$1\" " )

envoie-teste "$(zenity --file-selection)"

#!/bin/bash

if test -e "$1"
then
    echo "envoi du fichier..."
    scp "$1" distant:
    cmd="ls -l \"$1\" "
    echo "teste du fichier:"
    ssh distant "$cmd"
else
    echo "Le fichier $1 n'existe pas..."
    exit 1
fi

#3 Le 21/05/2007, à 12:17

toufalk

Re : [résolu][bash-script]espaces dans variable = problème

Ah bah oui, ça marche... c'est bizarre, je pensais avoir essayé... faut dire que j'ai beaucoup tâtonné! Je me met doucement au bash-script et au début, dur dur!! Maintenant, je vais pouvoir finir mon petit script. En fait, ce que j'ai donné n'est qu'un petit bout. Je cherche à imprimer depuis un ordi distant : zenity pour choisir le fichier, scp pour transferer, puis ssh d'un petit script sur distant pour lancer lpr et effacer le fichier... Il y a peut-être plus simple, mais au moins ça marche big_smile Et puis comme ça, j'apprends tongue

Merci beaucoup.

Hors ligne