如何在bash中从MySQL查询结果中获取字段

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

我只想在bash脚本中获得MySQL查询结果的值。例如,运行以下命令:

mysql -uroot -ppwd -e "SELECT id FROM nagios.host WHERE name='$host'"

返回:

+----+
| id |
+----+
| 0  |
+----+

如何获取bash脚本中返回的值?

提问于
用户回答回答于

使用-s-N:

> id=`mysql -uroot -ppwd -s -N -e "SELECT id FROM nagios.host WHERE name='$host'"`
> echo $id
0

手册:

-沉默-s 无声模式。产出减少。这个选项可以被多次赋予,以产生越来越少的输出。此选项将导致非表格输出格式和特殊字符的转义。可以使用RAW模式禁用转义;请参见--RAW选项的说明。 -跳过-列名-N 不要在结果中写入列名。

用户回答回答于

id=$(mysql -uroot -ppwd -se "SELECT id FROM nagios.host WHERE name=$host");
echo $id;

扫码关注云+社区