MySQLSHOW在Bash脚本中禁止警告

时间:2016-03-17 19:28:37

标签: mysql bash shell debugging

我正在研究一个简单的bash脚本,它所做的一件事就是在继续之前检查数据库是否已经存在。它的代码很简单,但每当我尝试运行脚本时我都会收到一条警告消息,我想要压制它。

以下是代码:

if ! mysql -uroot -proot -e "use $NAME"; then
    echo YES
else
    echo NO
fi

因此,作为输出,当if语句返回true时,我收到以下消息:

ERROR 1049 (42000) at line 1: Unknown database 'database'
YES

如何抑制该讯息?它不会阻止脚本运行,但我不希望看到它。

1 个答案:

答案 0 :(得分:0)

它只是告诉您名称为database的DB(显然是作为$NAME变量的值传递)不存在。使用正确的数据库名称,不会有任何警告。

要简单地将警告静音,请将所有输出重定向到/dev/null照常:

if ! mysql -uroot -proot -e "use $NAME" 2>&1 >/dev/null; then
    echo YES
else
    echo NO
fi