2012-11-09 2 views
0

Из терминала в Mac Mountain Lion, я бегу следующую команду:Stop терминальный вывод командной строки MySQL

mysql -h localhost -u root -p -B database | gunzip < db.sql.gz 

Он выполняет прекрасно, и база данных создается, но содержимое файла помещаются в станд поэтому я вижу, что содержимое выплескивается в окно терминала, когда оно выполняется.

Может ли кто-нибудь сказать мне, что переключатель выключает вывод терминала? Я это сделал, но я не могу понять. Кроме того, он будет задокументирован здесь для других сейчас;)

ответ

2

следует командам с

> /dev/null 

и нормальный выход подавляется, но ошибки все еще показаны

следуют командам с

> /dev/null 2>&1 

и все, в том числе ошибок подавляются

+0

Это прекрасно, спасибо. – Jongosi

2

У вас есть команды назад. потоки данных через трубу левой -> правые:

gzcat db.sql.gz | mysql -h localhost -u root -p -B database 

Как хорошо, Gunzip распаковывает файл, но не выводит его содержимого. вместо этого используйте gzcat, чтобы просто сбросить распакованный контент в stdout. Трубка | затем «ловит», что выводит и перенаправляет ее в mysql, который использует ее как входной.

+0

Отличный материал, тх Марк! – Jongosi

Смежные вопросы