将内存缓存命令的输出分配给 shell/bash 脚本中的变量

assign output of memcache command to a variable in shell/bash script

我有一个包含此代码的 bash 脚本

echo -e 'get mykey\r' | nc localhost 11211

当我 运行 脚本时,我在终端上得到了这个输出:

VALUE mykey 0 1
0
END 

但是我不想在终端上打印它,而是想将命令 'get mykey\r' | nc localhost 11211 的输出分配给我的 bash 脚本中的一个变量。

另外,当我使用 echo -e 时,它会打印出 VALUE mykey 0 1END,我不想在我的变量中显示这些内容。

所以预期的输出是变量应该只包含相应键的值,即在这种情况下,变量应该只包含值 0(可以是任何值,具体取决于正在获取的键)。

我尝试了什么:

output = 'get mykey\r' | nc localhost 11211
echo $output

但这会导致 output: command not found 错误

我该怎么做?

你可以这样做:

output=$(echo -e 'get mykey\r' | nc localhost 11211 | awk 'NR==2')
echo "$output"

但是请查看 nc 的手册页,看看它是否有任何选项来控制它的输出。