例如,我想计数从001到100.意味着零缓冲区将开始与2,1,然后最终为0,当它达到100或更多。
例如:
001
002
… …
010
011
… …
098
099
100
我可以这样做,如果数字有一个预定义的零的printf“?d”$ i。但是这是静态的,不是动态的,将不会在我的例子中工作。
如果通过静态对动态意味着你想要能够使用一个变量的宽度,你可以这样做:
$ padtowidth=3 $ for i in 0 {8..11} {98..101}; do printf "%0*d\n" $padtowidth $i; done 000 008 009 010 011 098 099 100 101
星号被其在参数列表中对应的变量的值(在这种情况下为$ padtowidth)替换。
否则,你的例子不工作的唯一原因是,你应该使用“2”(可能就像它是应用的最大填充),当它应该是“3”(如我的例子),因为该值是结果总宽度(而不是焊盘专用宽度)。