我正在尝试将所有已更改的文件上传到我的FTP服务器。但是,当我使用-S .tmp
标记时,我无法使用-v
和-bb
- 我根本无法使用ncftpbatch
这些选项。这是我的代码:
#!/bin/bash -eo pipefail
IN=$(git diff-tree --no-commit-id --name-only -r HEAD)
OUT=$(echo $IN | tr ";" "\n")
for file in "${OUT[@]}"; do
ncftpput -bb -S .tmp -v -u "zeussite@kolechia.heliohost.org" -p "*****" ftp.kolechia.heliohost.org "/" $file
done
ncftpbatch
如您所见,我需要-S .tmp
以避免在上传过程中破坏网站。 -v
提供输出以防止我的CI服务超时。
如何才能仅上传已更改的文件 - 而不会暂时中断网站?我想只是为每个文件单独登录,但这是不好的做法。
答案 0 :(得分:1)
为什么不在后台启动一个功能,只打印像uploading, please wait
这样的虚拟值,然后再睡几秒钟再做一次。在循环之外,您可以杀死该后台作业
如果您不想要任何输出
printf "\0"
或
printf "a\b"