【问题标题】:Stop terminal output of MySQL command line停止 MySQL 命令行的终端输出
【发布时间】:2012-10-29 21:14:45
【问题描述】:
在 Mac Mountain Lion 的终端上,我正在运行以下命令:
mysql -h localhost -u root -p -B database | gunzip < db.sql.gz
它执行得很好并且创建了数据库,但是文件内容被放入了标准输出,所以我看到内容在它执行时被吐到终端窗口中。
谁能告诉我关闭终端输出的开关?我已经用谷歌搜索了这个,但我无法弄清楚。此外,现在将在此处记录给其他人;)
【问题讨论】:
标签:
mysql
command-line
terminal
output
【解决方案1】:
按照命令
> /dev/null
正常输出被抑制,但仍然显示错误
按照命令
> /dev/null 2>&1
一切,包括错误都被抑制
【解决方案2】:
你已经把命令倒过来了。数据流经管道左 -> 右:
gzcat db.sql.gz | mysql -h localhost -u root -p -B database
同样,gunzip 解压缩文件,但不输出其内容。使用 gzcat 来简单地将解压缩的内容转储到标准输出。 | 管道然后“捕获”该输出并将其重定向到 mysql,后者将其用作输入。