【问题标题】:How to get output like SQLPLUS while Running SQL Query in shell script如何在 shell 脚本中运行 SQL 查询时获得类似 SQLPLUS 的输出
【发布时间】:2013-08-04 08:17:53
【问题描述】:

我有一个如下的 shell 脚本

RETVAL=`sqlplus -silent user/password <<EOF
SET PAGESIZE 9990

SELECT   id, type, count(*) "count" FROM event

EXIT;
EOF`

echo $RETVAL

它的输出像

ID 类型计数 ------------- ---------- ----------- 2 11 2 1 4 1 2 10 29 1 1 35 2 1 6 2 18 1 2 2 3 7 行已选择

但我想要像这样的输出

ID              TYPE        count
------------- ---------- -----------
        2         11           2
        1          4           1
        2         10          29
        1          1          35
        2          1           6
        2         18           1
        2          2           3

已选择 7 行。

我试图弄清楚我是否得到了一些换行符,但找不到。

问候,

【问题讨论】:

    标签: linux oracle shell sqlplus


    【解决方案1】:

    您的变量包含换行符,但您显示它的方式会删除它们。

    echo 语句替换为:

    echo "$RETVAL"
    

    这样,shell 就不会弄乱换行符了。您几乎应该总是引用可以包含需要保留的任何形式的空格的变量。

    【讨论】:

      猜你喜欢
      • 2020-08-29
      • 2012-05-03
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 2015-02-28
      相关资源
      最近更新 更多