shell程式引數傳遞給sqlplus

perfychi發表於2012-11-01
#!/bin/bash
#Filename: sh_sql.sh
. /home/oracle/.bash_profile
seq=$1

log_name=`sqlplus -S '/ as sysdba' <
set  pagesize 0 heading off feedback off linesize 200 echo off termout off trimspool on
select name from v\\$archived_log where sequence#=$seq;
exit
EOF`

echo $log_name

-------------------------------------------------------
~
[oracle@shanxi test]$ bash sh_sql.sh   5
/u01/arch/1_5_798157732.arch
[oracle@shanxi test]$ bash sh_sql.sh   6
/u01/arch/1_6_798157732.arch


按照我的理解在sqlplus 執行之前, shell會對 sqlplus裡面的shell變數預處理,替換成某個(些)值; 也就是說當輪到 sqlplus執行的時候,sqlplus裡shell變數位置都 已經是常量了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-748092/,如需轉載,請註明出處,否則將追究法律責任。

相關文章