この質問に非常に似ています。
BASH で自動化されたスクリプトを使用して、いくつかのことを繰り返しています。時折、スクリプトが「-n」に遭遇し、echo がこれを解釈しようとします。
これを試みた:
$ POSIXLY_CORRECT=1 /bin/echo -n
と
$ POSIXLY_CORRECT=1 /bin/echo "-n"
しかし、それは毎回引数を解釈しました。
次に、これは機能しますが、文字列内のエスケープ文字にヒットする可能性があります。そのため、すべての入力に null 文字を適用して -e を使用したくありません。
$ echo -e "\x00-n"
-n
printf は可能ですが、他のオプションがない場合を除いて避けるべきです (すべてのマシンがユーティリティとして printf を持っているわけではありません)。
$ printf "%s" "-n"
-n
それで、「-n」を印刷するためにエコーを取得する方法はありますか?