Shell 从壳中卷曲,带空格的路径

Shell 从壳中卷曲,带空格的路径,shell,curl,Shell,Curl,我有一个包含空格的文件夹路径。我用反斜杠避开了空格。curl命令在命令行上工作。如果在脚本中运行它,它会崩溃,认为文件夹路径的各个部分是独立的参数 脚本遍历一个目录并卷曲所有文件夹/文件 代码 引用,人,引用。使用sed将语法元素(在本例中为反斜杠)添加到数据中完全没有意义,因为语法分析发生在参数扩展之前很久 while IFS= read -r -d '' file; do filepath=$(dirname "$file") curl -k --ftp-ssl --ftp-pa

我有一个包含空格的文件夹路径。我用反斜杠避开了空格。curl命令在命令行上工作。如果在脚本中运行它,它会崩溃,认为文件夹路径的各个部分是独立的参数

脚本遍历一个目录并卷曲所有文件夹/文件 代码


引用,人,引用。使用
sed
将语法元素(在本例中为反斜杠)添加到数据中完全没有意义,因为语法分析发生在参数扩展之前很久

while IFS= read -r -d '' file; do
   filepath=$(dirname "$file")
   curl -k --ftp-ssl --ftp-pasv --ftp-create-dirs \
     -T "$file" \
     -u "${username}@${domain}:${pass}" \
     "$ftpuploadpath" 
done < <(find "$folderpath" -type f -print0)
而IFS=read-r-d“”文件;做
文件路径=$(dirname“$file”)
curl-k--ftp ssl--ftp pasv--ftp创建目录\
-T“$file”\
-u“${username}@${domain}:${pass}”\
“$ftpuploadpath”

完成echo$file
——无引号<代码>${folderpath}--无引号<代码>${username}@${domain}:${password}--无引号<代码>$ftpuploadpath--无需引用。谢谢你:D。我从这个答案和你的评论中学到了很多
   Transferring Sample_Project/folder\ spaces/test.docx
   0 Sample_Project/folder spaces/test.docx
   curl: Can't open 'Sample_Project/folder\ spaces/test.docx'!
   curl: try 'curl --help' or 'curl --manual' for more information
   curl: (6) Couldn't resolve host 'spaces'
while IFS= read -r -d '' file; do
   filepath=$(dirname "$file")
   curl -k --ftp-ssl --ftp-pasv --ftp-create-dirs \
     -T "$file" \
     -u "${username}@${domain}:${pass}" \
     "$ftpuploadpath" 
done < <(find "$folderpath" -type f -print0)