私は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 ----
誰でもこの動作を説明できますか?
echo時に失敗する実装はありますecho ------------か?ほとんどの場合-n(末尾の改行なし)、-e(バックスラッシュでエスケープされた文字を-E解釈する)、可能な(解釈しない)だけであり、他のオプションのような引数に遭遇してもエラーになりませんか?(編集:GNU /bin/echoもサポート--helpし--versionます。)