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