【问题标题】:MySQLSHOW Suppress Warning in Bash ScriptMySQLSHOW 抑制 Bash 脚本中的警告
【发布时间】:2016-07-04 08:35:16
【问题描述】:

我正在编写一个简单的 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

如何隐藏该消息?它不会阻止脚本运行,但我不想看到它。

【问题讨论】:

    标签: mysql bash shell debugging


    【解决方案1】:

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

    要像往常一样简单地将警告重定向到/dev/null

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

    【讨论】:

    • 对不起,我想你误解了我的问题。我在问如何“抑制”该警告信息。我明白为什么会出现。
    猜你喜欢
    • 2021-10-09
    • 2013-04-18
    • 2020-10-08
    • 2012-08-13
    • 2023-03-22
    • 1970-01-01
    • 2011-03-31
    • 2019-10-22
    • 2014-12-19
    相关资源
    最近更新 更多