终端重复命令,带有变量和新输出名称

时间:2017-03-01 15:39:03

标签: bash sh

我想多次重复以下命令:

composite -geometry +0+20 foreground.jpg background.jpg composite001.jpg

假设我想要运行此命令50次,每次向当前+0添加3,并且每次都将1添加到输出的名称。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

使用bash,你可以试试这个。

for n in {1..50}; do
   FILENAME=$(printf "composite%03d.jpg" $n)
   X=$(((n-1)*3))
   composite -geometry +$X+20 foreground.jpg background.jpg $FILENAME
done

答案 1 :(得分:0)

ALTER TABLE tablename CHANGE `fieldColumnName` `column` VARCHAR(255), CHANGE `fieldValue` `row` VARCHAR(255) 中最简单的方法是使用C风格的bash循环来迭代所需的for(对于几何)和x的值(生成输出文件)。

i

您可以毫不费力地使其符合POSIX标准,但代价是需要在子shell中运行for ((i=0, x=0; i<50; i++,x+=3)); do printf -v output 'composite%03d.jpg' "$x" composite -geometry +"$x"+20 foreground.jpg background.jpg "$output" done

printf