Это сложный вопрос;)
Обычно вы используете двойные черточки, чтобы сообщить команде, что она должна прекратить интерпретацию параметров, но echo выдаст только те:
$ echo -- -e
-- -e
Вы можете использовать -e сам, чтобы обойти проблему:
$ echo -e '\055e'
-e
Кроме того, как уже указывали другие, если вы не настаиваете на использовании встроенного в bash echo
, ваш двоичный файл /bin/echo
может быть версией инструмента GNU (проверьте страницу руководства) и, следовательно, понимать 1011 * переменная окружения:
$ POSIXLY_CORRECT=1 /bin/echo -e
-e