Skip to content
Vidar Holen edited this page Sep 8, 2020 · 1 revision

In POSIX sh, FDs outside of 0-9 are undefined.

(or "In dash, ... are not supported." when using dash)

Problematic code:

# Open FD #10 for writing
exec 10> file

Correct code:

Either rewrite the script to only use FDs in the valid range, or switch to a shell that allows a larger range like bash or ksh.

Rationale:

The shell grammar is only required to recognize a single digit before redirections to set the file descriptor, which limits the portable range to 0-9.

Exceptions:

None.

Related resources:

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

ShellCheck

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature guerraart8 to find a specific , or see Checks.

Clone this wiki locally