将SQL查询字符串存储到变量BASH中

时间:2014-02-08 13:32:52

标签: sql bash store

我在bash脚本中有一个select语句,它返回DB中的最新日期。我运行此查询4次,所以我只想定义一次并将文本分配给变量。

#!/bin/bash

    linux commands;
    database_date=$(sqlplus -s/nolog $USER/$USER@BRMDPP <<END
                 set pagesize 0 feedback off verify off heading off echo off;
                 SELECT ... 
                 exit;
END
)


    commands that change the database date;



     last_date=$(sqlplus -s/nolog $USER/$USER@BRMDPP <<END
                 set pagesize 0 feedback off verify off heading off echo off;
                 SELECT ... 
                 exit;
END
)

commands that change the database date;

如何将这个大字符串$(sqlplus ...存储到一个变量中并再次使用它? 谢谢

1 个答案:

答案 0 :(得分:0)

一种方法是使用函数:

foo() {
sqlplus -s/nolog $USER/$USER@BRMDPP <<END
                 set pagesize 0 feedback off verify off heading off echo off;
                 SELECT ... 
                 exit;
END
}

后来通过说:

来调用它
value=$(foo)

为了获得函数返回的,请说echo "$value"(注意引用变量很重要)。