- Ubuntu 10.10
- GNU bash,版本 4.1.5(1)-发布(i686-pc-linux-gnu)
- redis-cli 随 Redis 2.0.0 版提供
该脚本确实有效:
#! /bin/bash
set -e
f=$(echo 'bgrewriteaof_in_progress:0' | grep bgrewriteaof_in_progress | cut -d':' -f2)
test "${f}" = "0" && echo y || echo n
echo $f
印刷:
是 0
该脚本不起作用:
#! /bin/bash
set -e
f=$(redis-cli info | grep bgrewriteaof_in_progress | cut -d':' -f2)
test "${f}" = "0" && echo y || echo n
echo $f
印刷:
n 0
这怎么可能?(请注意,echo $f
打印0
,所以结果就在那里。)
答案1
找到了。redis-cli info
打印信息带有窗口行尾 (CRLF)。dos2unix
在管道之间插入某处确实可以解决问题。