Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 07-01-2016 14:43:39

wlourf
Membre
Distrib. : Jessie
Noyau : Linux 3.16.0-4-amd64
(G)UI : awesome
Inscription : 19-07-2010

[résolu] variables dans des chaînes dans un script bash

Bonjour

En ligne de commande je peux faire un rsync sur un port différent de 22 avec la ligne :

rsync -e 'ssh -p 1234'  -rv -t -a --force pc1:/home/wlourf /home/wlourf/sauve



mais dans un script, ça devient plus compliqué, je voudrais mettre la valeur du port dans une variable (selon le choix de l'utilisateur le port et le host sont différents) :


port="1234"
rsync -e 'ssh -p $port'  -rv -t -a --force $host:/home/wlourf /home/wlourf/$dossier



J'ai essayé tout un tas de combinaisons y compris avec ${port} port=1234 port ="'ssh -p 1234'" et j'en passe, je n'arrive pas à me connecter !

Si quelqu'un à une idée, je suis preneur !

Dernière modification par wlourf (08-01-2016 09:53:19)

Hors ligne

#2 07-01-2016 21:47:21

Thuban
Modérateur
Distrib. : OpenBSD
Noyau : current
(G)UI : xfce ou dwm
Inscription : 09-01-2009
Site Web

Re : [résolu] variables dans des chaînes dans un script bash

En shell, les ' vont garder ce qu'il y a entre les 2 tel que c'est écrit.
Tu dois utiliser des " :


port=1225
rsync -e "ssh -p $port"  -rv -t -a --force $host:/home/wlourf /home/wlourf/$dossier
 


YA3HGA-H

Hors ligne

#3 08-01-2016 09:52:46

wlourf
Membre
Distrib. : Jessie
Noyau : Linux 3.16.0-4-amd64
(G)UI : awesome
Inscription : 19-07-2010

Re : [résolu] variables dans des chaînes dans un script bash

merci thuban, ça fonctionne, je n'avais pas pensé à ça !

Hors ligne

#4 08-01-2016 09:58:21

Thuban
Modérateur
Distrib. : OpenBSD
Noyau : current
(G)UI : xfce ou dwm
Inscription : 09-01-2009
Site Web

Re : [résolu] variables dans des chaînes dans un script bash

No problem' smile

YA3HGA-H

Hors ligne

Pied de page des forums