Title: RE: Unix Q: ksh scripting

With the addition of the extra quote...this worked fine for me.  Kevin,
try running it using the korn shell ( ksh instead of sh - bourne shell).

If you're just trying to grab the date, though, I'd do it like this:

#!/bin/ksh
THE_DATE=`sqlplus -s / <<EOF
set heading off
set pagesize 0
select sysdate from dual;
exit
EOF`

echo $THE_DATE

If you really want the last line, maybe sysdate was just for kicks, you could spool
a file before the select, spool off after it, then do a tail -1 on the spool file
followed by cleaning it up OR leave it around (i.e. remove the file at the start,
rather than at the end) until the next run just in case you
have problems you can always go back to see what was there the last time it was run.

HTH

-----Original Message-----
From: Thomas, Kevin [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 24, 2002 7:18 AM
To: Multiple recipients of list ORACLE-L
Subject: RE: Unix Q: ksh scripting


Hmm, this still doesn't seem to work.

-----Original Message-----
Sent: 24 July 2002 10:38
To: Multiple recipients of list ORACLE-L


Oops,  missed a quotation mark in earlier posting.  Should have read:

sqlplus -s / << EOF | grep -v ^$ | sed -n '$p'
select sysdate from dual;
exit
EOF

Regards

Chris

-----Original Message-----
Sent: 24 July 2002 09:15
To: '[EMAIL PROTECTED]'


Ross,

You are hitting a couple of problems here:

1 - the 'tail' command needs to be on your first line (sqlplus / <<EOF |
tail -1)

2.  However,  I suspect this will not give you what you want as sqlplus
prints a blank line at the end.  Try the following:

sqlplus -s / << EOF | grep -v ^$ | sed -n '$p
select sysdate from dual;
exit
EOF

Grep will remove blank lines - sed will print last line.  I'm sure there are
many more ways of doing this.

HTH,

Chris

-----Original Message-----
Sent: 24 July 2002 05:53
To: Multiple recipients of list ORACLE-L


Hi all,
Can any of our Unix gurus here transform my script below to work properly? 
The intention is to print the last line of the sqlplus output.
With set -x, it appears anything after the last EOF is ignored. Why?
Thanks.
Ross

#!/bin/ksh
#set -x
sqlplus / <<EOF
select sysdate from dual;
exit
EOF | tail -1
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Ross Collado
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Thomas, Kevin
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to