我正在尝试使用printf在bash脚本中格式化一些漂亮的输出
例如:
-----------------------
| This is some output |
-----------------------
但是我偶然发现了一些我不了解的行为。
$ printf "--" 给我错误 printf: usage: printf [-v var] format [arguments]
并
$ printf "-stuff"导致-bash: printf: -s: invalid option
因此,显然printf认为我正在尝试传递一些参数,而我却没有。
同时,完全出于偶然,我发现了以下解决方法:
$ printf -- "--- this works now ----\n"给我--- this works now ----
谁能解释这种行为?
1
另见unix.stackexchange.com/questions/11376/...
—
manatwork
出于兴趣,是否有任何实现
—
janmoesen 2011年
echo会在执行时失败echo ------------?大多数只支持-n(没有尾随换行符),-e(解释反斜杠转义的字符)并且可能-E(不解释它们)并且在遇到其他类似选项的参数时也不会出错,对吗?(编辑:GNU /bin/echo也支持--help和--version。)