gpt4 book ai didi

bash - 使用 nc 传输文件时的空文件

转载 作者:行者123 更新时间:2023-12-04 18:52:22 26 4
gpt4 key购买 nike

我在使用 nc 传输文件的奇怪情况上苦苦挣扎了很长时间,我使用以下 bash 脚本将文件从 A 机器传输到 B 机器,脚本似乎没问题,文件正在传输到 B 机器,但是文件的大小是 0 字节并且没有任何内容(它确实包含在机器 A 中),然后我第二次运行我的脚本,这次机器 B 确实包含内容,我可以知道我的脚本的哪个部分导致了这个问题吗?百万感谢您的帮助!

#!/bin/bash
IPADDRSTR="$1"
COUNT=0
for x in $IPADDRSTR
do
#server
IPERRSTR[$COUNT]=$(sshpass -p pass ssh -o StrictHostKeyChecking=no -p 22 root@$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

最佳答案

rsync 在这里可能是一个更优雅的实用程序。我只是想让你开始。您的代码对我来说似乎没问题,但它们在上面提出了很好的观点。在此处阅读 rsync:https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps

#!/bin/bash
IPADDRSTR="$1"
COUNT=0
for x in $IPADDRSTR
do
#server
IPERRSTR[$COUNT]=$(sshpass -p pass ssh -o StrictHostKeyChecking=no -p 22 root@$x '$(/usr/bin/nc -l -p1234 > /root/a.txt)&' > /dev/null 2>&1 | echo -n $?)

if [ ${IPERRSTR[COUNT]} -eq "0" ]
then
#######Place rysnc command here instead.########
echo "done"
fi
COUNT=$((COUNT+1))
done

关于bash - 使用 nc 传输文件时的空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25929767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com