Estou tentando usar printf para formatar uma saída bonita em um script bash
por exemplo:
-----------------------
| This is some output |
-----------------------
Mas me deparei com um comportamento que não entendo.
$ printf "--" me dá o erro printf: usage: printf [-v var] format [arguments]
e
$ printf "-stuff"resulta em-bash: printf: -s: invalid option
Aparentemente, printf acha que estou tentando passar alguns argumentos enquanto não estou.
Enquanto isso, completamente por acidente, encontrei esta solução alternativa:
$ printf -- "--- this works now ----\n"me dá--- this works now ----
Alguém pode explicar esse comportamento?
echoque falhariam ao fazer isso echo ------------? A maioria suporta apenas -n(sem nova linha à direita), -e(interpreta caracteres com escape de barra invertida) e possível -E(NÃO os interpreta) e não comete erros quando outros argumentos do tipo opção são encontrados, certo? (EDIT: GNU's /bin/echotambém suporta --helpe --version).