Ich versuche, printf zu verwenden, um einige hübsche Ausgaben in einem Bash-Skript zu formatieren
z.B:
-----------------------
| This is some output |
-----------------------
Aber ich bin über ein Verhalten gestolpert, das ich nicht verstehe.
$ printf "--"
gibt mir den fehler printf: usage: printf [-v var] format [arguments]
und
$ printf "-stuff"
führt zu-bash: printf: -s: invalid option
Anscheinend glaubt printf, ich würde versuchen, ein paar Argumente zu übergeben, ohne dass ich es tue.
Inzwischen habe ich ganz zufällig diese Problemumgehung gefunden:
$ printf -- "--- this works now ----\n"
gibt mir--- this works now ----
Kann jemand dieses Verhalten erklären?
echo
denen dies fehlschlagen würde echo ------------
? Die meisten unterstützen nur -n
(keine abschließenden Zeilenumbrüche), -e
(interpretieren Zeichen mit umgekehrten Schrägstrichen) und sind möglich -E
(interpretieren Sie sie NICHT). (BEARBEITEN: GNU /bin/echo
unterstützt auch --help
und --version
.)