Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用netcat以mbit/s为单位输出网络速度_Bash_Netcat - Fatal编程技术网

Bash 使用netcat以mbit/s为单位输出网络速度

Bash 使用netcat以mbit/s为单位输出网络速度,bash,netcat,Bash,Netcat,我正在使用netcat piped thorugh pv测量网络速度 服务器A netcat -l -q -1 -p 1234 | pv > /dev/null 服务器B dd if=/dev/zero bs=10M count=1 | nc -v -n 10.10.10.2 1234 结果在服务器B上返回为 (UNKNOWN) [10.10.10.2] 1234 (?) open 1+0 records in 1+0 records out 10485760 bytes (10 MB

我正在使用netcat piped thorugh pv测量网络速度

服务器A

netcat -l -q -1 -p 1234 | pv > /dev/null
服务器B

dd if=/dev/zero bs=10M count=1 | nc -v -n 10.10.10.2 1234
结果在服务器B上返回为

(UNKNOWN) [10.10.10.2] 1234 (?) open
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 5.24922 s, 2.0 MB/s
我需要做的是将MB/s转换为Mbit/s,然后在脚本中输出

echo $speed
16 Mbits/sec

此外,我需要netcat始终在服务器A上侦听,并且在传输完成后不关闭。我尝试了-k和-q-1开关,但没有成功。

要从MB切换到MB,您需要以MB为单位的数字乘以8。您是否正在尝试找出执行此操作的语法?我会使用
awk
是的,我需要语法来进行此计算您可以使用
awk
。假设您将MB数据拉入一个变量。示例
speed=“10MB”
。然后你可以做
awk`{printf(%.3f\n”),'${speed}*8}'
或者更简单的:
speed=10MB
那么你所需要做的就是
echo$(${speed/MB}*8))
要从MB变为MB,你需要以兆字节为单位的数字乘以8。你是否在试图找出实现这一点的语法?我会使用
awk
是的,我需要语法来进行此计算您可以使用
awk
。假设您将MB数据拉入一个变量。示例
speed=“10MB”
。然后,您可以执行
awk`{printf(%.3f\n”)、'${speed}*8}'
或更简单的操作:
speed=10MB
然后只需执行
echo$(${speed/MB}*8))