Cant get this to work , tried everything for the conditional [] bash brackets quotes etc
The if $$? != "0" never matches but the $$? is non zero at times. Any ideas ?
test: testdrivers
-@rc=0; \
for file in $(TSTFILES); do \
./$$file; \
if $$? != "0" ; then \
echo test fail;\
rc=`expr $$rc + 1` ;\
fi \
done; \
echo; echo "Tests failed: $$rc"
The right syntax for a numeric comparison in shell scripting is:
if [ $$? -ne 0 ]; then
Be sure you have spaces BEFORE and AFTER the square brackets. They cannot be in the same word as the arguments.
Also you're missing a semicolon after the fi
:
fi; \
done; \
Use below one as an example:
SHELL=/bin/bash
abc=all
all:
@ echo $(SHELL)
@if [ $@ == $(abc) ]; then echo hi; fi;
@echo done
output will be:
/bin/bash
hi
done
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With