在Bash中,如果在函数中使用管道查看器(pv)将不起作用。这是因为pv不会知道管道是否已经关闭,因此可能会一直等待它完成,从而导致死锁。为了解决这个问题,可以使用以下代码示例:
#!/bin/bash
my_function () {
echo "Test" | cat | {
pv -W >/dev/null
}
}
my_function
在这个例子中,我们使用了一个拉拔块来确保pv读取的所有数据都已经发送到/dev/null。
注:这里的pv命令将输出写入/dev/null以避免在输出中显示。如果要在输出中查看pv输出,请删除">/dev/null"的末尾。
下一篇:Bash函数未返回预期的输出