为什么这会在命令行中运行:
redis-cli info | grep instantaneous_ops_per_sec | cut -d : -f 2
...但是当我将它分配给shell脚本中的变量时不起作用?如,
num=`redis-cli info` | grep instantaneous_ops_per_sec | cut -d : -f 2
相关地,为什么将redis-cli info
的原始输出分配给shell变量然后回显它会导致redis-cli输出的乱码?
答案 0 :(得分:1)
捕获变量时,应将整个命令链放在子shell中,而不仅仅是开头部分:
num=$( redis-cli info | grep instantaneous_ops_per_sec | cut -d : -f 2 )
使用$( )
而不是传统的反引号也更好。