can i set the value of the run variabile via cobol program?
The "$?" is a special variable called "Error code" or "Error level". It is an (unsigned short) integer value. A value of "0" (which also happens to be a logical "TRUE" in "if"-conditions) is considered to mean "normally finished program", every code other than that means one of several erroneous conditions.
Try it yourself:
The output of "cat" is directed to /dev/null (the "black hole" of the OS) so you won't notice its operation. It still gives back an error code to the OS when it terminates and this is what you see with "echo $?". The "1" in the second case is because "cat" cannot find the file you are asking it to print.
Having said this: Yes, you can use this mechanism to pass messages to your calling program. As COBOL is a compiled language you will have to use the exit()-systemcall, which will take an (unsigned integer) value, which will be passed as error level.
You can NOT pass arbitrary messages (like text, etc.) via this mechanism, so the functionality is quite limited. If you want to pass longer output to other programs you should not use this mechanism anyway, but other means like writing to <stdout>. If you write to <stdout> you can use the pipeline construct to pass input to another program, which will read it from its <stdin>.
Means simply that "program1" creates some output. This output could go into a file, a device, whatever. "program2" gets its input from <stdin>. Normally this will be you typing away, it could also be a file, a device, etc.. In this special case the OS is connecting <stdout> of "program1" with <stdin> of "program2" this way establishing a (one-way) communication. So in fact the pipeline can be thought of a shortcut to:
just without the intermediary file in between. Notice, btw., that the error code of a pipeline is always the error code of the last command. If in our example program1 returns "0" and program2 returns "1" then "$?" would yield "1". In the second example with the intermediary file you could separately get the the error codes of program1 and program2, but i get carried away....
Hi, i want the loop to move to 3rd item, when it encounters 2 while runing
for i in 1 2 3 4 5 6
do
if
then
#jump to element 3
else
echo $i
fi
done
o/p
1
3
4
5
6 (4 Replies)
Hello everyone. I am new to shell scripting and i am required to create a shell script, the purpose of which i will explain below.
I am on a solaris server btw.
Before delving into the requirements, i will give youse an overview of what is currently in place and its purpose.
... (2 Replies)
Hi,
can someone point out a solution to my problem below.
Within a shell script TEST.ksh I have to run two commands CmdA & CmdB one after the other as below.
-------------
TEST.ksh
#!/usr/bin/ksh
A
B
-------------
I am running this script from KSH with PID 12345 as below.
... (5 Replies)
Hi there,
in near future I have to change my work surrounding from HP UNIX to Windows Vista (great to get rid of old hardware :), but bad to loose UNIX :( ). As I heavily use KSH scripts to do my job, I was wondering, if there is any HowTo available, supporting me in re-writing the scripts to... (4 Replies)
Ok apologies if this is trivial or doesn't make sense but I am quite new to korn shells;
So I have a .ksh batch file located in a folder of my choosing, I want to run this file in a korn shell.
The problem though is that I want to get VBA code to do this. I have (VBA) code which opens command... (1 Reply)
Hi all,
I need to create a bash script that reads a txt file on a remote (Windows 2003) server, gets the IP-addresses out of it and then fetches the folders to copy out of another txt file. (all files are auto-generated) The IP addresses that don't have a folder_list file should be ignored. At... (31 Replies)
If I cat a file
And want to go to the first instance of a particular value - what command would I use?
And then from that point where I jumped to search for another value - but only search from that point forward not before the file?
Thanks~ (2 Replies)
I am using awk in my .ksh script but when I am trying to run in windows
its not recognising awk part of the ksh script , even when I changed it to gawk it does not work, this is how my .ksh and .bat files look like.
thanx.
#!/bin/ksh
egrep -v "Rpt 038|PM$|Parameters:|Begin |Date: |End... (1 Reply)
yea, I'm a really dummie, I have been using Knoppix for a while on a bootable disk, but wanting to switch to Slackware, is this a good decision? could any of you link me to a slackware downloadable site? thanks
-Jace:D (7 Replies)