更新时间:2022-11-18 23:39:45
"time"命令将结果打印到stderr,而不是stdout.因此,它不会通过管道传递到您的变量中.
"time" command prints result to stderr, not to stdout. Thus it is not piped into your variable.
您应该将stderr重新路由到stdout以实现所需的功能:
You should reroute stderr to stdout to achieve what you want:
result=$(ssh host time "command" 2>&1)
您的完整代码如下所示:
And your full code can look something like this:
respond=$(ssh ${fromNode} /usr/bin/time "-f" "%e" "'sh' '-c' 'virsh migrate --live ${VM} qemu+ssh://${toNode}/system > /dev/null 2>&1'" 2>&1)