2014-02-08 21 views
1

我试图在文件夹中的每个.jpg文件执行命令行命令:

for i in ls *.jpg; do convert $i -resize 400x511 -gravity center -background white -extent 400x511 $i; done 

但只有前。 JPG是“完成”,出了什么问题?

+1

你不需要'ls':'我在* .jpg中;做...;完成' –

+0

@NilsWerner:你是对的,我编辑:) – bux

回答

1

首先你不需要ls在这里和第二你需要引用它。

for i in *.jpg; do 
    convert "$i" -resize 400x511 -gravity center -background white -extent 400x511 "$i" 
done 
+0

只是第一个jpg文件被编辑这个变化。 – bux

+1

在'convert'行之前插入'echo'$ i“',看看它会被回显多少次。 – anubhava

+0

所有文件都打印出来,只有一个被隐藏修改。 – bux