Parece que seu núcleo é sólido - isso deve ser confiável e deve ser encerrado assim que o arquivo for enviado completamente.
Se out.txt
já existir, então, essa configuração pode se comportar de maneira inesperada. Se out.txt
for maior que test.txt
, a última parte de out.txt
permanecerá, pois a socat sobrescreve o byte por byte em vez de garantir que o arquivo esteja vazio. Existem algumas maneiras de corrigir isso, dependendo do que você deseja fazer:
-
OPEN:out.txt,creat,trunc
excluirá todos os bytes emout.txt
antes de gravar nele. Essa opção imita o que você esperaria decp
e é provavelmente o que você quer. -
OPEN:out.txt,creat,excl
se recusará a escreverout.txt
se já existir. Use esta opção para segurança extra. -
OPEN:out.txt,creat,append
anexará dados aout.txt
.
Eu também gosto de executar md5sum
nos arquivos de origem e destino sempre que eu ligo algo assim junto, devido a esses tipos de casos de canto.