• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 247
  • Last Modified:

KSH scripting question

I am looking over the ksh script and there is a line

sqlplus "/ as sysdba" <<!


I was wondering what is <<! part of it? What does it do?

I know that >> appends output to a file and that < is a standard input, but what about << in a conjunction with !
0
YZlat
Asked:
YZlat
1 Solution
 
farzanjCommented:
Just processes output until it sees ! in a line.

So it will process all lines below this command until it sees !

command << END_TAG
abc
def
adf
END_TAG

Your end tag is !
0
 
YZlatAuthor Commented:
I see. But there isn't any ! anywhere in my script
0
 
nemws1Commented:
farzanj is 100% correct.  Just tested this on my box with ksh:

$cat <<!
> what
> is 
> up
> man
> !
what
is
up
man
$

Open in new window

0
Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

 
DOSLoverCommented:
This says the input begins after the next new line and continues until there is a line containing only the delimiter. In your case the delimiter is !

Here is a link that might help: http://pic.dhe.ibm.com/infocenter/aix/v7r1/index.jsp?topic=%2Fcom.ibm.aix.baseadmn%2Fdoc%2Fbaseadmndita%2Fkorn_shell_inout_redir.htm
0
 
ozoCommented:
if there is no terminating ! then ksh may just read to the end of the script
0
 
nemws1Commented:
ozo is correct.  bash prints out an error, ksh does not and happily accepts an end-of-file terminator:

$cat <<!
> hey
> there
> man
^Dhey
there
man
$
0
 
YZlatAuthor Commented:
Thanks, got it!
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now