1

我正在为我要问的另一个问题编写 bash 脚本。这是我所拥有的:

exec 3<>/dev/tcp/m.m.0001.u.cache.amazonaws.com/11211
echo -e "get CacheCleaner\nquit" >&3
cat <&3

它几乎可以工作。它返回这个:

VALUE CacheCleaner 0 1
1
END

我没有剧照要做,就是取中间线上的 1,并将其放入变量中。

我尝试编辑 >&3,我知道它是做什么的,但我有点迷茫。


基于如何在 Bash 脚本中的变量中存储标准错误

看起来我可以这样做:

exec 3<>/dev/tcp/m.m.0001.u.cache.amazonaws.com/11211
echo -e "get CacheCleaner\nquit" >&3
CC=`cat <&3` 
echo $CC

这将返回:

ENDE CacheCleaner 0 1

所以不是我真正需要的,但更接近。

4

3 回答 3

1
dos2unix <&3 | sed -n 2p

输出似乎具有\r\n行尾序列。dos2unix 命令转换\r\n\nUNIX 风格的行尾。

sed 命令打印输出的第二行。

于 2013-01-09T18:39:53.373 回答
1

那这个呢?

CC=$(cat <&3 | sed -n 2p)

于 2013-01-09T18:41:57.633 回答
1
# instead of cat, do this
read a a a a result a <&3
echo $result
于 2013-01-09T18:43:05.403 回答