2014-02-08 106 views
1

我在bash腳本中有一個select語句,它返回數據庫中的最新日期。我運行這個查詢4次,所以我想只定義它一次,並將文本分配給一個變量。將SQL查詢字符串存儲到變量BASH中

#!/bin/bash 

    linux commands; 
    database_date=$(sqlplus -s/nolog $USER/[email protected] <<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/[email protected] <<END 
       set pagesize 0 feedback off verify off heading off echo off; 
       SELECT ... 
       exit; 
END 
) 

commands that change the database date; 

我怎麼能存儲這個大串$(sqlplus中......成一個變量,然後再次使用它 謝謝

回答

0

一種方法是利用函數:

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

後來說調用它:

value=$(foo) 

爲了獲得由函數返回,如echo "$value"(注意引用變量很重要)。

+0

非常感謝! – user3253335

相關問題