High

Showing all detectors for the Shell language with high severity.

End token not found

The end token EOF was not found in the here document.

Apostrophe terminated single quoted string

Avoid premature termination of single-quoted strings by properly escaping apostrophes or switching to double quotes.

Sudo Redirect Misuse

Shell script incorrectly uses sudo with I/O redirection, which doesn't work as intended.

Printf Variable Interpolation

Direct use of variables in printf format string instead of using format specifiers.

Unquoted Ampersand in Command

Unescaped '&' in command terminates it prematurely.

Test Bracket Termination

Remove unexpected characters after closing test bracket.

Document is not properly terminated

Document isn't properly terminated because the terminator is not on a separate line by itself.

Sensitive whitespace of bourne shells

Bourne shells are very sensitive to whitespace, and missing spaces can change script behavior.

Unquoted Eval Argument

Unquoted 'eval' can lead to arbitrary code execution if variable contains malicious input.

Glob-based Iteration

Use globs instead of 'ls' for file iteration.

Shells are space sensitive

The construct <<( is invalid; to redirect from process substitution, use < <(cmd) instead.

Command Argument Handling

Use arrays or functions for complex command arguments instead of strings.

Parsing Error

Parser error due to invalid script structure.

Backtick Command Injection

Unintended execution of command output due to unnecessary backtick command substitution.

Multi-Parameter Shebang

Use of multiple parameters in shebang line, causing script execution failure on most operating systems.

Syntax Error Detection

Identifying and addressing syntax errors in shell scripts.

Incorrect Quoting in Trap Commands

Using single quotes instead of double quotes in trap commands to prevent premature expansion of variables and commands.