に問題がある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に保存されることを期待しますが、このテキストは代わりにコンソールに出力されます。
何が起こっているのか分かりません。誰にもアイデアはありますか?
(Ubuntu 14.04.1)
実際、新しいバージョンのbashがそれを処理していると思います。とにかく私のテストで動作するようです。
—
DarkNeuron
それでは、あなたに良い。後でコードを見たときに何も私の正気を維持する場合:-)私は、追加の安全ネットを好む傾向にある...
—
からCVn
if [[ -z $test ]]
とほぼ確実に拡張さif [[ -z ]]
れることに注意してください$test
。これは条件を破る可能性が高いようです。これを防ぐには、変数を引用符で囲んでください:if [[ -z "$test" ]] ; then
。