对包含空格字符的文件使用“转换”?

对包含空格字符的文件使用“转换”?
for f in $(ls mydir/*.jpg)
do 
    convert -thumbnail $size -quality $quality $f thumbsdir/$(basename $f)
done

我正在尝试编写一个脚本,该脚本获取包含图像的目录并从这些图像生成缩略图。该脚本运行良好,但是当它到达包含空格字符的图像文件时,它会给我错误,因为它在遇到空格字符时认为它是另一个文件。

我已经尝试过使用引号,例如:

convert -thumbnail $size -quality $quality "$f" "thumbsdir/$(basename $f)"

...但没有成功。

我怎样才能完成这项工作,而不必重命名所有文件并删除空格字符?

答案1

不要使用ls

for f in mydir/*.jpg
do 
    convert -thumbnail "$size" -quality "$quality" "$f" "thumbsdir/$(basename "$f")"
done

而且您确实需要报价。

相关内容