#!/bin/bash
while read a
do
echo $a
ssh rsync@kevin mkdir /tmp/plop
done < /tmp/rsync_perso
Ce petite bout de code (pour l'exemple) me pose problème…
Meme si mon fichier /tmp/rsync_perso contient plusieurs lignes, le résultat sera le suivant:
[gnumdk@arch ~]$ bash p.sh
Perso/plop/
Si je remplace la commande ssh par n'importe quoi d'autre, alors il boucle sur l'ensemble du fichier…
Une idée ?
# Commentaire supprimé
Posté par Anonyme . Évalué à 4.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 6.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: ssh lit le stdin
Posté par Cereal Killer . Évalué à -5.
cat file | while read line;
do
echo $line
done
fonctionne aussi.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: ssh lit le stdin
Posté par Cereal Killer . Évalué à -2.
je croyais que ton problème était de lire une ligne entière …
Si ton soucis c'est que ta boucle sort à la première ligne, utilise ssh -n (man ssh). Et ta boucle ne calera plus à la première ligne.
Sylvain
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: ssh lit le stdin
Posté par jben . Évalué à 4. Dernière modification le 29 avril 2013 à 16:04.
Je te propose de créer un sous-shell avec stdin en entrée pour proteger toute la partie dont tu veux qu'elle ne touche pas à stdin :
[^] # Re: ssh lit le stdin
Posté par benoar . Évalué à 1.
Pas chez moi, ça n'arrête pas de lire la première ligne du fichier en boucle.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1. Dernière modification le 30 avril 2013 à 15:36.
Ce commentaire a été supprimé par l’équipe de modération.
# Merci les gens
Posté par gnumdk (site web personnel) . Évalué à 0.
J'ai appris un truc…
Bon, j'ai pas eu de connexion de la journée, on verra ça demain :-) MERCI RENATER!
# read -u fd
Posté par sebre . Évalué à 5.
En utilisant un descripteur de fichier :
[^] # Re: read -u fd
Posté par gnumdk (site web personnel) . Évalué à 2.
Et c'est d'ailleurs la seule solution qui fonctionne, merci ;)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.