我对 Bash 和 cURL 有点陌生,无法理解为什么这个 Bash 文件不会在不抛出Unexpected EOF
错误的情况下运行。
此 cURL 命令应将 20 MB 块的大文件(在下面的示例脚本中,介于 300 到 400 MB 之间)上传到存储服务。上传所有 MB 后,第二个命令“完成”上传。两个命令使用相同的 GUID。
内部upload-bits.sh
:
#!/bin/sh
for i in {0..20}; do
curl -X POST \
https://community.<company>.com/api.ashx/v2/cfs/temporary.json \
-H 'Rest-User-Token: 12345' \
-F UploadContextId=21f23109-aac2-44ef-8b89-c0f62e67da4d \
-F FileName='file.zip' \
-F TotalChunks=20 \
-F CurrentChunk=$i \
-F 'file=@file.zip'
done
Bash 脚本引发Unexpected EOF
错误。我已经在没有脚本的 Bash 部分的情况下单独尝试了 cURL 命令,并替换CurrentChunk
了成功0
和1
没有成功。我还使用了一个脚本验证器,它确认脚本没有问题。我还运行dos2unix
它以消除终端问题。
我还不能使用第二个脚本,因为第一个脚本没有工作,但是如果我没有很好地解释所需的整体过程,我会将它发布为上下文。
complete-upload.sh
:
curl -X POST \
https://community.<company>.com/api.ashx/v2/media/371/files.json \
-H 'Rest-User-Token: 12345' \
-F 'Name=file.zip' \
-F ContentType=application/zip \
-F FileName='file.zip' \
-F FileUploadContext=21f23109-aac2-44ef-8b89-c0f62e67da4d
我将不胜感激任何提示或见解。谢谢你。