You need command substitution and a space before ]
:
[ $(pgrep mongo | wc -l) -gt 2 ]
$(...)
is the syntax for command substitution
Frage
I'm trying to run [ pgrep mongo | wc -l -gt 2]
to see if there are more than 2 mongo processes running, but I keep getting this error -bash: [: missing `]'
I feel like I'm missing something simple here. Thanks!
Lösung
You need command substitution and a space before ]
:
[ $(pgrep mongo | wc -l) -gt 2 ]
$(...)
is the syntax for command substitution
Andere Tipps
Besides using command substitution, it is a good idea to use arithmetic expression in that case:
(( $(pgrep mongo | wc -l) > 2 ))