【发布时间】:2019-01-28 06:30:12
【问题描述】:
使用 Bash printf,我不知道如何理解以下代码的语法。
echo $(printf "%0.s../" 2 );
# ../
echo $(printf "%0.s../" );
# ../
echo $(printf "%0.s../" 1 );
# ../
读自man printf,
...
s
打印字符串参数中的字节,直到结束 达到或直到达到精度规范指示的字节数;但是,如果精度为 0 或丢失,字符串被完全打印。...
我还是不知道上面的代码。
为什么下面的代码会重复打印?
# repeating character
echo $(printf "%0.s../" 1 2 );
# ../../
从https://wiki.bash-hackers.org/commands/builtin/printf看
...
。点:与字段宽度一起,文本较长时不扩展字段,而是截断文本。 "%.s" 是 "%.0s" 的未记录等效项,它将强制字段宽度为零,从而有效地将字段隐藏在输出中
...
还没收到。我需要一些解释。
【问题讨论】:
-
见this。