printf
マイナス記号行をどのように印刷できますか?
私が試したとき:printf "-----------\\n"
私は得る:
bash: printf: - : invalid option
printf: usage: printf [-v var] format [arguments]
私が試したとき:printf "\-\-\-\-\-\-\-\-\-\-\-\\n"
私は得る:\-\-\-\-\-\-\-\-\-\-\-
答え1
printf()
これは、書式指定子を使用せずに使用する非常に非効率的な方法です。通常、どのタイプの出力がフォーマットされているかを知るために定義します。それは次のように書かなければなりません
printf '%s\n' "-----------"
printf
これにより、文字列型を文字列キーワード()を使用する書式指定子と一致させることができます。 after指定子は、文字列を印刷した後に新しい行を追加することを意味します。-----------
%s
\n
あなたが持っていることを試してみると、引用符が削除されたときにダッシュをコマンドラインprintf
フラグの1つとして解釈することで、次のことができます。いいえわかります。
別のアプローチは許す printf
コマンドライン引数が完全であることを知り、次の内容を引数として解釈します。ほとんどのシェル組み込みおよび/または外部コマンドは、--
コマンドキーワードの後にサフィックスを追加することでこれをサポートします。
printf -- "-----------\n"