-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SC2234
Vidar Holen edited this page May 23, 2018
·
3 revisions
([ "$x" -gt 0 ]) && foo
[ "$x" -gt 0 ] && foo
You are wrapping a single test command in (..)
, creating an unnecessary subshell. This serves no purpose, but is dramatically slower:
$ i=0; time while ( [ "$i" -lt 10000 ] ); do i=$((i+1)); done
real 0m6.998s
user 0m3.453s
sys 0m3.464s
$ i=0; time while [ "$i" -lt 10000 ]; do i=$((i+1)); done
real 0m0.055s
user 0m0.054s
sys 0m0.001s
Just delete the surrounding (..)
since they serve no purpose and only slows the script down.
None.
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!