Kłopoty z redis-cli. Chcę sprawdzić, czy połączenie redisjest odrzucone (serwer nie działa), przez BASH.
Prosty test
#!/bin/bash
test=$(redis-cli exit) #exit out of the "not connected console"
if [[ -z $test ]] ; then
echo "I'm empty :("
fi
Oczekiwałbym, Could not connect to Redis at 127.0.0.1:6379: Connection refusedże będę przechowywany w teście $, ale ten tekst jest zamiast tego wysyłany do konsoli.
Nie jestem pewien, co się dzieje. Czy ktoś ma jakieś pomysły?
(Ubuntu 14.04.1)
if [[ -z $test ]]prawie na pewno rozszerzy się,if [[ -z ]]kiedy stanie$testsię pusty, co wydaje się prawdopodobnie złamać warunek. Aby zabezpieczyć się przed tym, po prostu umieścić zmienną w cudzysłowie:if [[ -z "$test" ]] ; then.