You need command substitution and a space before ]
:
[ $(pgrep mongo | wc -l) -gt 2 ]
$(...)
is the syntax for command substitution
سؤال
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!
المحلول
You need command substitution and a space before ]
:
[ $(pgrep mongo | wc -l) -gt 2 ]
$(...)
is the syntax for command substitution
نصائح أخرى
Besides using command substitution, it is a good idea to use arithmetic expression in that case:
(( $(pgrep mongo | wc -l) > 2 ))