Sponsored Content
Top Forums Shell Programming and Scripting What's going on in my scripts? Post 302188339 by tpltp on Wednesday 23rd of April 2008 07:37:36 AM
Old 04-23-2008
What's going on in my scripts?

In my script:

Code:
1  #!/bin/ksh
     2  #To retrieve the ID for lots of the channels
     3  #The id is the _NEWESTEID
     4  #Usage: RetrieveID.ksh <filein> <fileout>
     5  set -x
     6
     7  tmpfile="/tmp/tmpfile"
     8  tmpfile2="/tmp/tmpfile2"
     9
    10  if [ $# -ne 2 ]; then
    11    echo "Usage:"
    12    echo "$0  <filein> <fileout> "
    13    exit 1
    14  fi
    15
    16  while read line
    17  do
    18    CHANNELNAME=`echo $line | awk -F: '{print $3}' `
    19    dbFindChannel -n ${CHANNELNAME} >${tmpfile2}
    20
    21    if [ $? -eq 0 ]
    22    then
    23      NewID=`more ${tmpfile2} | grep DBUS_CHANNEL_NEWESTEID | awk '{print $2}'`
    24    else
    25      NewID="Failed"        #If dbFindChannel failed
    26    fi
    27
    28    echo $line "\t" $NewID >>${tmpfile}
    29  done <$1
    30
    31  mv ${tmpfile} $2
    32  rm -f ${tmpfile2}
    33
    34  exit 0

I use the script like this:
./RetrieveID.ksh filein fileout
everytime as soon as dbFindChannel successed, the script exit. So it can only retrieve the first channel new id, but not all the successful one. Do I miss something here? Why did the script exit the while loop even in the <filein>, there are a lot of channel remains.

Thanks and regards
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help with scripts

script that ask for "enter a file name" and removes that file and asks for confirmation before deletion if executed the output might look as enter the filename you intent to deleted remover file? Y file deleterd I knwo the comand I would use find . -name *.* -ok rm {}\; I guess... can... (1 Reply)
Discussion started by: LiTo
1 Replies

2. Shell Programming and Scripting

Calling expect scripts from other expect scripts

Hi, First, let me explain the issue I am trying to solve. We have a lot of expect scripts with the duplicated send/expect commands. So, I'd like to be able to extract the duplicated code into the common scripts that can be used by other scripts. Below is my test where I am trying to call... (0 Replies)
Discussion started by: seva
0 Replies

3. UNIX for Dummies Questions & Answers

Profile scripts versus rc scripts....

what is the difference between login and profile scripts versus the rc scripts? (1 Reply)
Discussion started by: rookie22
1 Replies

4. Shell Programming and Scripting

Help with Script using rsh and scripts within scripts

Hi, I've written a script that runs on a Database server. It has to shutdown the Application server, do an Oracle Dump and then restart the Application server. Its been a long time since I wrote any shells scripts. Can you tell me if the scripts that I execute within my script will be executed... (3 Replies)
Discussion started by: brockwile1
3 Replies

5. Shell Programming and Scripting

Running scripts within scripts from cron

Hi all, I have set up a cron job which calls another shell script shell script which in turn calls a Java process. The cron tab looks so. 0,30 7-18 * * 1-5 /u01/home/weblogic/brp/bin/checkstatus.sh >> /u01/home/weblogic/logs/checkstatus.log The checkstatus.sh scripts looks like this. ... (4 Replies)
Discussion started by: sirbrian
4 Replies

6. Shell Programming and Scripting

Changing the Bash Scripts to Bourne Scripts:URGENT

Hi, I have to write a program to compute the checksums of files ./script.sh I wrote the program using bash and it took me forever since I am a beginner but it works very well. I'm getting so close to the deadline and I realised today that actually I have to use normal Bourne shell... (3 Replies)
Discussion started by: pgarg1989
3 Replies

7. Shell Programming and Scripting

KSH - How to call different scripts from master scripts based on a column in an Oracle table

Dear Members, I have a table REQUESTS in Oracle which has an attribute REQUEST_ACTION. The entries in REQUEST_ACTION are like, ME, MD, ND, NE etc. I would like to create a script which will will call other scripts based on the request action. Can we directly read from the REQUEST_ACTION... (2 Replies)
Discussion started by: Yoodit
2 Replies

8. Shell Programming and Scripting

Calling scripts from with scripts

Hi all, I'm wondering if you could give me some advice. I am new to scripting and am getting rather frustrated that i can get my script to call another script if certain criteria is met, via command line, but I cannot get the same script to work thru the cron jobs. My first script monitors... (8 Replies)
Discussion started by: echoes
8 Replies

9. Shell Programming and Scripting

Calling multiple scripts from another scripts

Dear all, I am working on script which call other shell scripts in a loop but problem is from second script am not able to come out. Here is the snippet:- #!/bin/bash HSFILE=/root/Test/Components.txt LOGFile=/opt/domain/AdminDomain/application/logs... (3 Replies)
Discussion started by: sharsour
3 Replies
CGIPARSE(8)						     DACS Web Services Manual						       CGIPARSE(8)

NAME
cgiparse - CGI argument parsing utility SYNOPSIS
cgiparse [mode] [-enc {none | url | mime | dacs}] [-in filename] [-d] [-nonewline] [-qs query-string] [-copy filename] [[-n name filename]...] DESCRIPTION
This program is part of the DACS suite. It is a stand-alone program that neither accepts the usual DACS command line options (dacsoptions) nor accesses any DACS configuration files. This utility is used by web-based scripts (shell scripts in particular) to obtain their CGI arguments, which can be obtained from a URI's query component or in an encoded entity-body read from the standard input (as with the POST method). The form content types[1] application/x-www-form-urlencoded and multipart/form-data are both understood. The program has several different modes of operation, one of which may be specified by the first command line argument. cgiparse combines query arguments found in the QUERY_STRING environment variable with arguments found in the message body it reads from the standard input. If an argument name is duplicated the result is indeterminate. OPTIONS
The mode may be one of the following: -arg variable-name Emit the value of the CGI argument variable-name, then exit. If there is no such argument, the exit status will be 1 instead of 0. -targ variable-name Test if the CGI argument variable-name exists. If there is no such argument, the exit status will be 1, otherwise it will be 0. -html Emit an HTML document that lists the CGI argument names and their values. -one Emit a listing of the CGI argument values (without the names). -sh Emit CGI arguments as a single line in the format: variable-name='variable-value'; [...] It is an error if any variable-name or variable-value is syntactically unsuitable for this format. The returned string can be used as the argument to eval to set the CGI arguments as shell variables. -text Like -html except emit text. This is the default. With this mode, the program's stdout is usually written to a file. Each line of the file has the format: variable-name variable-value (a space separates the name from the corresponding value). The file is typically read by a script to obtain the arguments, or cgiparse can be run with the -in flag to retrieve an argument. Additionally, cgiparse recognizes these options: If writing the parsed CGI arguments (-text), encode the argument value using the specified method: url means URL encoding, mime means MIME base-64 encoding, and dacs means DACS base-64 encoding. For details about these encodings, please see dacs.exprs(5)[2]. The default is none, which means that no encoding is performed (use this only when you are sure this cannot cause a problem). If reading the parsed CGI arguments (-in), decode the argument values using the specified method. The default is none, which means that no decoding is performed; if the arguments were encoded, they will be returned in that encoding, but other than this case the decoding method must match the encoding method previously used or an error is likely to occur. -qs query-string Instead of using the environment variable QUERY_STRING to get a query component, use query-string. -nonewline With -arg, do not emit a newline after printing an argument value. -d Enable debugging output. -copy filename Append the input stream to filename. This can be useful for debugging purposes. -in filename Instead of parsing CGI arguments, read variable name/value pairs (as produced by the -text flag) from filename. If filename is "-", stdin is read. -n name filename If parsing succeeds, and there is a MIME body part with a name exactly matching name, then: o if the content disposition is multipart/form-data, write the content as quoted-printable text to filename; o if the content disposition is base64, write the decoded content to filename; o otherwise the content is written verbatim to filename. If the output file exists it is truncated. EXAMPLES
The following shell script demonstrates one way of using cgiparse. #! /bin/sh tmpfile=/tmp/cgiparse.$$ cgiparse > ${tmpfile} chmod 0600 ${tmpfile} echo "Context-Type: text/plain" echo "" done= while [ "${done}x" = x ] do a= b= read a b if [ $? = 1 ] then done=1 break else echo "Arg: ${a}" echo "Is: ${b}" fi done < ${tmpfile} rm -f ${tmpfile} exit 0 The following code fragment uses cgiparse to save and then look up its CGI arguments: #! /bin/sh tmpfile=/tmp/cgiparse.$$ trap 'rm -f ${tmpfile}; exit 1' EXIT 1 2 3 13 15 cgiparse -enc mime > ${tmpfile} chmod 0600 ${tmpfile} mode=`cgiparse -in ${tmpfile} -enc mime -arg MODE` target=`cgiparse -in ${tmpfile} -enc mime -arg TARGET` The following script will print "1 2 3" to its standard output: #! /bin/sh args=`cgiparse -sh -qs "a=1&b=2&c=3"` eval "$args" echo "$a $b $c" DIAGNOSTICS
The program exits 0 if everything was fine, 1 if an error occurred. BUGS
There do not appear to be any official recommendations concerning how to handle apparently "malformed" CGI query strings that do not look like a sequence of name=value pairs. The parsing routines that cgiparse uses will flag an error if they see strings containing a component like "=foo", for example, although "foo=" is fine. SEE ALSO
RFC 3875[3], The WWW Common Gateway Interface, Version 1.2[4], HTML 4.01 Specification[5], dacs_prenv(8)[6] AUTHOR
Distributed Systems Software (www.dss.ca[7]) COPYING
Copyright2003-2012 Distributed Systems Software. See the LICENSE[8] file that accompanies the distribution for licensing information. NOTES
1. form content types http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4 2. dacs.exprs(5) http://dacs.dss.ca/man/dacs.exprs.5.html#encode 3. RFC 3875 http://www.rfc-editor.org/rfc/rfc3875.txt 4. The WWW Common Gateway Interface, Version 1.2 http://ken.coar.org/cgi/cgi-120-00a.html 5. HTML 4.01 Specification http://www.w3.org/TR/html4/ 6. dacs_prenv(8) http://dacs.dss.ca/man/dacs_prenv.8.html 7. www.dss.ca http://www.dss.ca 8. LICENSE http://dacs.dss.ca/man/../misc/LICENSE DACS 1.4.27b 10/22/2012 CGIPARSE(8)
All times are GMT -4. The time now is 05:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy