【问题标题】:Assigning result of a select query to a variable in shell script将选择查询的结果分配给 shell 脚本中的变量
【发布时间】:2014-07-14 23:53:57
【问题描述】:

我正在尝试执行选择查询并将结果存储在 shell 脚本中的变量中。下面是脚本

   mysql="mysql -h localhost -u root"
   db="testdb";
   echo "Select Name from Details"|${mysql} ${db};

上面的语句被执行,列'Name'被打印出它的值。但是当我尝试分配如下结果时

   var = `"Select Name from Details"|${mysql} ${db};`
   echo $var

   or

   var = $("Select Name from Details"|${mysql} ${db};)
   echo $var

我收到以下错误“var: not found”。尝试将查询结果分配给变量时我哪里出错了?

【问题讨论】:

    标签: sql shell


    【解决方案1】:
       var=`echo "Select Name from Details"|${mysql} ${db};`
       echo $var
    

    变量名和= 之间不能有空格。 shell else 将变量名解释为命令/可执行文件。因此错误!

    【讨论】:

    • 我尝试删除空间并执行,但它会引发“从未找到详细信息中选择名称”的错误。为什么会发生?
    • 请尝试我的更新答案。将echo 添加到字符串
    • @Maheswaren:我得到的结果是“名称 aarish”。我如何解析它以便单独检索名称?
    • 尝试使用-ss 选项来关闭标题。
    • 对不起@aarish,不确定是否在 mysql 中关闭标头。在 oracle 中很简单。!
    猜你喜欢
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多