tr -cd [:digit:]
tr -cd '[:digit:]'
From the shell's point of view, unquoted
[:digit:] is a glob equivalent to
[digit:] that matches any single character filename from the group, such as
t, in the current directory.
If someone starts learning D and creates a directory named
d to hold the source code, the glob will be expanded and the script will end up executing
tr -cd d instead, which is clearly unintended.
Quoting the argument prevents this, and will pass it correctly as the literal string
[:digit:] no matter which files exist in the current directory.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.