4 SC2065
Vidar Holen edited this page 2015-10-03 21:33:27 -07:00

This is interpreted as a shell file redirection, not a comparison.

Problematic code:

[ 1 >2 ] || [ 3>'aaa bb' ] # Simple example of problematic code

Correct code:

[ 1 -gt 2 ] || [ 3 \> 'aaa bb' ] # arithmetical, lexicographical

Rationale:

A word that looks like a redirection in simple shell commands causes it to be interpreted as a redirection. ShellCheck would guess that you don't want it in tests.

Exceptions:

When it's among a continuous list of redirections at the end of a simple test command, it's more likely that the user really meant to do a redirection. Or any other case that you mean to do that.