将内存缓存命令的输出分配给 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 1
和 END
,我不想在我的变量中显示这些内容。
所以预期的输出是变量应该只包含相应键的值,即在这种情况下,变量应该只包含值 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
的手册页,看看它是否有任何选项来控制它的输出。
我有一个包含此代码的 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 1
和 END
,我不想在我的变量中显示这些内容。
所以预期的输出是变量应该只包含相应键的值,即在这种情况下,变量应该只包含值 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
的手册页,看看它是否有任何选项来控制它的输出。