10-12-2007
How to pass two or more parameters to the main in shell script
Hey Guys
from the below script what I understood is we are sending the the first parameter as input to the main (){} file
main > $LOGFILE 2>&1
but can we send two or three parameter as input to this main file as
main > $LOGFILE 2>&1 2>&2 like this
Can any one plz help I need to writ a script which takes three parameters
#!/usr/bin/ksh
DIRNAME=/web/local/orderlink/linkload/script
LOGDIR=/web/local/orderlink/linkload/logs
LOGFILE=$LOGDIR/process_stuck_csos.log
NUMARGS=$#
ARGI=$1
main()
{
DATESTAMP=`date +%Y%m%d%H%M%S`
SQL_TEMP_FILE=$DIRNAME/tmpcsosclean.sql
SQL_A="SET SERVEROUTPUT ON;\n
DECLARE\n
TYPE OrderList IS TABLE OF S_ORDR.ORDR_ID%TYPE INDEX BY BINARY_INTEGER;\n
listOrders OrderList;\n
\n
BEGIN\n
"
SQL_B="\nFORALL i IN listOrders.FIRST..listOrders.LAST\n
UPDATE s_ordr set ORDR_STAT_TXT = 'CSOS REJECTED'\n
where ordr_id = listOrders(i)\n
and ORDR_STAT_TXT = 'CSOS SIGNED/IN-PROG';\n
DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT || ' row(s) actually updated.' );
COMMIT;
\n
END;
\n/
\nEXIT
"
. $DIRNAME/set_env.ksh
echo "----------------------------------------------------------------------"
echo $DIRNAME"/"$0
echo $DATESTAMP
echo "Using:"$ORACLE_SID
n=`grep -c '^[0-9]\{1,10\}$' $infile`
echo $n "order id(s) found to process in" $infile
if [ $n -lt 1 ]; then
echo "Nothing to do..."
exit 0;
fi
echo "Generating SQL";
echo $SQL_A > $SQL_TEMP_FILE
grep '^[0-9]\{1,10\}$' $infile | awk '{print "listOrders("NR") := "$1";"}' >> $SQL_TEMP_FILE
echo $SQL_B >> $SQL_TEMP_FILE
echo "Running SQL_PLUS"
sqlplus -s / @$SQL_TEMP_FILE
mv $SQL_TEMP_FILE $LOGDIR/proc_stuck_csos.sql.log
}
if [ $# != 1 ]; then
echo "Usage: $0 input-file"
exit 1
else
if [ ! -r $ARGI ]; then
echo "Error: File not found, or file unreadable!"
exit 1
else
infile=$ARGI
fi
fi
main > $LOGFILE 2>&1
Thanks in advance
I am desperate needed to code as quickly as possible
pinky
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am trying to pass some of the variables in my shell scripts to the sqlplus call and use them as parameters.
For example, I would like to replace the 'SAS', and '20050612' with $var1 and $var2, respectively, how can I do that?
--------------------------------------------------------... (1 Reply)
Discussion started by: Jtrinh
1 Replies
2. Shell Programming and Scripting
Hi,
I am trying to write a script like this:
#!/bin/ksh
#script name: msgflow
#The awk commands for Solaris and Linux are incompatible
if ]
then
msgflow-solaris $*
elif ]
then
msgflow-linux $*
fi
This script is shared by a file system which is visible to both... (3 Replies)
Discussion started by: danielnpu
3 Replies
3. Shell Programming and Scripting
Hello,
I have this awk script that I want to execute by passing parameters through a shell script.
I'm a little confused. This awk script removes duplicates from an input file.
Ok, so I have a .sh file called rem_dups.sh
#!/usr/bin/sh... (4 Replies)
Discussion started by: script_op2a
4 Replies
4. Shell Programming and Scripting
I have a working and tested AWK script that removes duplicates from an input file and generates an output file without the duplicates.
I had help from my other post to develop it:
... (3 Replies)
Discussion started by: script_op2a
3 Replies
5. Shell Programming and Scripting
Hi,
I basically have 2 shell scripts.
One is a shell script will get the variable value from the user. The variable is nothing but the IP of the remote system.
Another shell script is a script that does the job of connecting to the remote system using ssh. This uses a expect utility in turn.
... (2 Replies)
Discussion started by: sunrexstar
2 Replies
6. UNIX for Advanced & Expert Users
Hi,
I am writing a wrapper script(wrap_script.sh) to one of the main scripts (main_script.sh)
The main script is executed as following:
./main_script.sh <LIST> <STARTDATE> <ENDDATE>
looks for a parameter which is a LIST(consists of different list names that need to be processed), START/END... (0 Replies)
Discussion started by: stunnerz_84
0 Replies
7. Shell Programming and Scripting
Gurus,
The issue I'm having is that my Shell won't accept SQL parameters properly......
Here's they way I'm running it....
applmgr@ga006hds
=> sh CW_MigrationDeployScript.sh apps <appspwd> <SID> '01-JAN' '31-MAR'
The process just hangs not submitting the SQL job...
... (3 Replies)
Discussion started by: WhoDatWhoDer
3 Replies
8. Shell Programming and Scripting
Why does this work
for myfile in `find . -name "R*VER" -mtime +1`
do
SHELLVAR=`grep ^err $myfile || echo "No error"`
ECHO $SHELLVAR
done
and outputs
No error
err ->BIST Login Fail 3922 err
No error
err ->IR Remote Key 1 3310 err
But... (2 Replies)
Discussion started by: alan
2 Replies
9. Shell Programming and Scripting
There's a JavaScript file that I call from command line (there's a framework) like so:
./RunDiag.js param1:'string one here' param2:'string two here'
I have a shell script where I invoke the above command. I can run it in a script as simple as this
#!/bin/bash
stuff="./RunDiag.js... (4 Replies)
Discussion started by: AcerAspirant
4 Replies
10. Shell Programming and Scripting
Hi All,
I have a script which does report the cpu usuage, there are few output parameter/fields displayed from the script. My problem is I have monitor the output and decide
which cpu number (column 2) has maximum value (column 6).
Since the output is displayed/updated every seconds, it's very... (1 Reply)
Discussion started by: Optimus81
1 Replies
echo(1B) SunOS/BSD Compatibility Package Commands echo(1B)
NAME
echo - echo arguments to standard output
SYNOPSIS
/usr/ucb/echo [-n] [argument]
DESCRIPTION
echo writes its arguments, separated by BLANKs and terminated by a NEWLINE, to the standard output.
echo is useful for producing diagnostics in command files and for sending known data into a pipe, and for displaying the contents of envi-
ronment variables.
For example, you can use echo to determine how many subdirectories below the root directory (/) is your current directory, as follows:
o echo your current-working-directory's full pathname
o pipe the output through tr to translate the path's embedded slash-characters into space-characters
o pipe that output through wc -w for a count of the names in your path.
example% /usr/bin/echo "echo $PWD | tr '/' ' ' | wc -w"
See tr(1) and wc(1) for their functionality.
The shells csh(1), ksh(1), and sh(1), each have an echo built-in command, which, by default, will have precedence, and will be invoked if
the user calls echo without a full pathname. /usr/ucb/echo and csh's echo() have an -n option, but do not understand back-slashed escape
characters. sh's echo(), ksh's echo(), and /usr/bin/echo, on the other hand, understand the black-slashed escape characters, and ksh's
echo() also understands a as the audible bell character; however, these commands do not have an -n option.
OPTIONS
-n Do not add the NEWLINE to the output.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscpu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), echo(1), ksh(1), sh(1), tr(1), wc(1), attributes(5)
NOTES
The -n option is a transition aid for BSD applications, and may not be supported in future releases.
SunOS 5.10 3 Aug 1994 echo(1B)