에 문제가 redis-cli
있습니다. redis
BASH를 통해 연결 이 거부 되었는지 (서버 다운) 확인하고 싶습니다 .
간단한 테스트
#!/bin/bash
test=$(redis-cli exit) #exit out of the "not connected console"
if [[ -z $test ]] ; then
echo "I'm empty :("
fi
Could not connect to Redis at 127.0.0.1:6379: Connection refused
$ test에 저장 될 것으로 예상 되지만이 텍스트는 대신 콘솔에 출력됩니다.
무슨 일인지 잘 모르겠습니다. 누구든지 아이디어가 있습니까?
(우분투 14.04.1)
실제로 최신 버전의 bash가 처리한다고 생각합니다. 어쨌든 내 테스트에서 작동하는 것 같습니다.
—
DarkNeuron
그럼 당신에게 좋습니다. :-) 나중에 추가 코드를 볼 때 제 정신을 보존 할 수있는 추가 안전망이없는 경우가 있습니다.
—
CVn
if [[ -z $test ]]
거의 확실으로 확장 할if [[ -z ]]
때$test
조건을 깰 가능성이 보인다, 빈됩니다. 이를 방지하려면 변수를 따옴표로 묶으십시오if [[ -z "$test" ]] ; then
.