我的shell错在哪里?
我需要更改一批文件的分辨率,有400多个,用下面的shell来做,for i in *; do convert $i -resize 64x64 $i; done
不少文件名可能都有空格,结果只能更改几个文件后命令就僵死了。
convert: missing an image filename `X..png'.
convert: unable to open image `CD': No such file or directory.
convert: unable to open image `ROM.png': No such file or directory.
convert: unable to open file `ROM.png'.
convert: unable to open image `CD': No such file or directory.
convert: missing an image filename `ROM.png'.
==================================
再列几个文件名
Computer Blue Dalmation.png @ Icon Aqua.png My Documents (globe).png System iTools.png
Computer Ti Book Front.png Icon Aqua.png My Music (globe).png 用双引号括起来不行吗? for i in *; do convert "$i" -resize 64x64 "$i"; done
可以了,老大能不能介绍一本学习shell的书籍,我是文科的,学习shell有点不着边际。
还有一个文件无法改,就是一@开头的一个文件,文件名:@ Icon Aqua.png
页:
[1]