1 SC3036
Vidar Holen edited this page 2022-11-02 21:03:32 -07:00

In Dash, echo flags besides -n are not supported.

Problematic code:

#!/bin/dash
echo -e "Name:\t$USER"

Correct code:

#!/bin/dash
printf 'Name:\t%s\n' "$USER"

Rationale:

Your script uses a shell feature not supported by the shebang. Either rewrite the script to be portable, or change the shebang to explicitly require a shell like Bash.

In this case, you can rewrite your use of echo using printf, which behaves the same across shells.

Exceptions:

None

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!