Why do you need the backtick if the only use of the temp variable is to echo it?
m0 could be simplified to
Code:
ORACLE_SID=orcl
ORAENV_ASK=NO
. /usr/local/bin/oraenv
sqlplus -s / << EOF
set feedback off verify off heading off pagesize 0 linesize 100
SELECT 'Calling xx_pkg.xx_fuc at '||systimestamp
FROM dual;
exit;
EOF
or
Code:
ORACLE_SID=orcl
ORAENV_ASK=NO
. /usr/local/bin/oraenv
temp=`sqlplus -s / << EOF >/tmp/output
set feedback off verify off heading off pagesize 0 linesize 100
SELECT 'Calling xx_pkg.xx_fuc at '||systimestamp
FROM dual;
exit;
EOF
cat /tmp/output
If you need to save the output or separate it from other processes within the same procedure.