Bash 用于进度条的pv命令在脚本中无法正常工作

Bash 用于进度条的pv命令在脚本中无法正常工作,bash,shell,pv,Bash,Shell,Pv,我有一个脚本来执行本地数据库和生产数据库之间的同步。在这个脚本中,有一个命令将production.sql导入我的开发数据库。它有点长,所以我想添加一个进度条 当我直接在终端中键入该命令时,该命令起作用,但当脚本执行该命令时,我可以看到进度条,但它没有进度。它保持在0%,直到进程结束 这是我脚本的一部分: log "Restore DB..." if brew ls pv > /dev/null; then pv tmp/$dump | mysql -u rails_bots -

我有一个脚本来执行本地数据库和生产数据库之间的同步。在这个脚本中,有一个命令将
production.sql
导入我的开发数据库。它有点长,所以我想添加一个进度条

当我直接在终端中键入该命令时,该命令起作用,但当脚本执行该命令时,我可以看到进度条,但它没有进度。它保持在0%,直到进程结束

这是我脚本的一部分:

log "Restore DB..."
if brew ls pv > /dev/null; then
    pv tmp/$dump | mysql -u rails_bots -h 127.0.0.1 -prails_bots $database < tmp/$dump
else
    mysql -u rails_bots -h 127.0.0.1 -prails_bots $database < tmp/$dump
fi
log“还原数据库…”
如果brew ls pv>/dev/null;然后
pv tmp/$dump | mysql-u rails_bots-h 127.0.0.1-prails_bots$数据库

你知道为什么它在我的脚本中不起作用吗?

我对
感到困惑。第3行是否需要它?@gudok
tmp/$dump
是我导入的sql文件的路径<代码>$dump
是在我的脚本中定义的,为什么要指定它两次?一次是作为
pv
的参数,第二次是
哦,在我看到的示例中,是这样的。但是我只是在没有
的情况下进行了测试,导入工作正常,但进度不好,我的糟糕,谢谢@gudok!