Je me bats depuis longtemps sur la situation étrange de transfert de fichiers en utilisant nc, j'utilise le script bash suivant pour transférer des fichiers d'une machine à l'ordinateur B, le script semble bien et le fichier est en cours transfert à la machine B, cependant la taille du fichier est de 0 octet et n'a pas de contenu (qu'il contient réellement dans la machine A), puis je lance mon script une seconde fois et cette fois la machine B contient du contenu, puis-je savoir quelle partie mon script provoque ce problème? Million merci pour l'aide!Fichier vide lors du transfert de fichiers en utilisant nc
#!/bin/bash
IPADDRSTR="$1"
COUNT=0
for x in $IPADDRSTR
do
#server
IPERRSTR[$COUNT]=$(sshpass -p pass ssh -o StrictHostKeyChecking=no -p 22 [email protected]$x '$(/usr/bin/nc -l -p1234 > /root/a.txt)&' > /dev/null 2>&1 | echo -n $?)
if [ ${IPERRSTR[COUNT]} -eq "0" ]
then
nc $x 1234 < ./a.txt
echo "done"
fi
COUNT=$((COUNT+1))
done
avez-vous essayé de le simplifier, par exemple, utilisez 'scp' pour copier le fichier? – jfs
Je pense que vous faites écho au statut de sortie d'un processus en arrière-plan ... ce qui n'est pas le statut de sortie de 'nc'. –
Aussi, pourquoi votre commande 'ssh' est-elle dans' $() '? –