SC2177 – ShellCheck Wiki

See this page on GitHub

Sitemap


time is undefined for compound commands, use time sh -c instead.

Problematic code:

time for i in *.bmp; do convert "$i" "$i.png"; done

Correct code:

time sh -c 'for i in *.bmp; do convert "$i" "$i.png"; done'

Rationale:

time is only defined for Simple Commands by POSIX. Timing loops, command groups and similar is not.

Exceptions:

None. If you use a shell that supports this (e.g. bash, ksh), specify this shell in the shebang.


ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.