长话短说: printf 正在向数字添加零,而不是让数字替换它们。
更多细节:
我目前正在尝试在我的 Ubuntu 操作系统上使用 Bash 来执行一系列包含对我的数据库查询的分解文件。
这些文件被分解为如下所示:
x0000000000
x0000000001
x0000000002
etc.
我正在制作一个小脚本,通过使用 Bash 的 printf 的填充零函数来运行这些文件。
我的脚本看起来和我在 Google 上搜索过和看到的所有脚本一样,但结果却不同。
这是我的脚本:(不是用于查询的脚本,而是用于获取文件名的脚本)
for i in {0..10};
do
printf "x%010d"$i;
done
应该是这样的:
x0000000000
x0000000001
x0000000002
x0000000003
x0000000004
x0000000005
x0000000006
x0000000007
x0000000008
x0000000009
x0000000010
而是像这样出来:
x00000000000
x00000000001
x00000000002
x00000000003
x00000000004
x00000000005
x00000000006
x00000000007
x00000000008
x00000000009
x000000000010
它纯粹是向数字添加零,而不是替换它们的数字。
如果我无意中打开了某些设置、做错了什么或有错误,有人可以告诉我吗?