The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Accessing variables of one shell script in another shell script rsendhilmani Shell Programming and Scripting 2 03-17-2009 01:17 AM
invoking a shell script inside cgi shell script smriti_shridhar Shell Programming and Scripting 2 07-09-2008 02:50 AM
Accessing variables of one shell script in another shell script looza Shell Programming and Scripting 2 06-30-2008 08:13 PM
How to pass a parameter from one Shell-script to another Shell-script subodhbansal Shell Programming and Scripting 2 09-22-2007 06:19 AM
Have a shell script call another shell script and exit heprox Shell Programming and Scripting 2 11-20-2006 08:17 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-13-2008
SpiralSpastic SpiralSpastic is offline
Registered User
  
 

Join Date: Oct 2008
Posts: 4
Need help with Shell Script

Hi All,

I'm newbie in shell scripting. I've problem with my unix function. I need to add new files to be process inside a function without messing old function. The process loop is same but it sharing 1 core process before it continues with other process.

Let me redefine the function:

- New process file APPNFC.?????? need to be added from $importdir/nonfin directory
- Then the new file need to rename as APPNFC.INC
- Inside the for loop it will be copied to new file APPNFC.TMP before run core process CEDP1300 together with APPLIC.TMP.
- How to do all the process before core process and I need to output 2 files, APPLIC.INC and APPNFC.INC

Below is the original code need to be amended:


Code:
#==========================
function DO_ELOAN_FILES
#==========================
{
    echo "Processing Eloan Files (APPLIC) ..."
     if test -s $importdir/nonfin/APPLIC*
     then
        > APPLIC.INC
        for incfl in $importdir/nonfin/APPLIC*
        do

          if test -s $incfl
          then
             cp $incfl APPLIC.TMP
             CEDP1300
             if [ $? -eq 0 ]
             then
                cat APPLIC.INC $incfl > tmpincfl
                mv tmpincfl APPLIC.INC
                rm -f $incfl
             else
                mv $incfl ../errfiles/
                echo "Eloan Files (APPLIC) Pre-edit failed!!!"
             fi
      else
        echo "ELoan Files (APPLIC) is empty"
        echo "ELoan Files (APPLIC) is empty" >> EDPIMPORT.LST
          fi
        done
        rm APPLIC.TMP
        echo "Eloan Files (APPLIC) successfully copied."
        echo "Eloan Files (APPLIC.INC) successfully copied." >> EDPIMPORT.LST
        echo >> EDPIMPORT.LST
     else
        echo "Eloan (APPLIC) Files not found."
        echo "Eloan (APPLIC) Files (APPLIC.INC) not found." >> EDPIMPORT.LST
        echo >> EDPIMPORT.LST
     fi
     echo

}

Please help to guide me to output this 2 files. Your reply is highly appreciate.
  #2 (permalink)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmer, author
  
 

Join Date: Mar 2007
Location: Toronto, Canada
Posts: 2,373
Quote:
Originally Posted by SpiralSpastic View Post
Hi All,

I'm newbie in shell scripting. I've problem with my unix function.

What's the problem?
Quote:
I need to add new files to be process inside a function without messing old function.

What old function?
Quote:
The process loop is same but it sharing 1 core process before it continues with other process.

That makes no sense. The process loop is the same as what? How is it sharing a core process?
Quote:

Let me redefine the function:

- New process file APPNFC.?????? need to be added from $importdir/nonfin directory
- Then the new file need to rename as APPNFC.INC
- Inside the for loop it will be copied to new file APPNFC.TMP before run core process CEDP1300 together with APPLIC.TMP.
- How to do all the process before core process and I need to output 2 files, APPLIC.INC and APPNFC.INC

Below is the original code need to be amended:


Code:
#==========================
function DO_ELOAN_FILES
#==========================
{

Use standard syntax:

DO_ELOAN_FILES()
{
Quote:

Code:
    echo "Processing Eloan Files (APPLIC) ..."
     if test -s $importdir/nonfin/APPLIC*

That will fail if there is more than one matching file. Use a function instead:


Code:
is_non_empty_file()
{
  for inefile
  do
    [ -s "$inefile" ] && return
  done
}


Code:
     if is_non_empty_file $importdir/nonfin/APPLIC*

Quote:

Code:
     then
        > APPLIC.INC
        for incfl in $importdir/nonfin/APPLIC*
        do

          if test -s $incfl
          then
             cp $incfl APPLIC.TMP
             CEDP1300
             if [ $? -eq 0 ]
             then
                cat APPLIC.INC $incfl > tmpincfl
                mv tmpincfl APPLIC.INC
                rm -f $incfl
             else
                mv $incfl ../errfiles/
                echo "Eloan Files (APPLIC) Pre-edit failed!!!"
             fi
      else
        echo "ELoan Files (APPLIC) is empty"
        echo "ELoan Files (APPLIC) is empty" >> EDPIMPORT.LST
          fi
        done
        rm APPLIC.TMP
        echo "Eloan Files (APPLIC) successfully copied."
        echo "Eloan Files (APPLIC.INC) successfully copied." >> EDPIMPORT.LST
        echo >> EDPIMPORT.LST
     else
        echo "Eloan (APPLIC) Files not found."
        echo "Eloan (APPLIC) Files (APPLIC.INC) not found." >> EDPIMPORT.LST
        echo >> EDPIMPORT.LST
     fi
     echo

}

Please help to guide me to output this 2 files. Your reply is highly appreciate.
  #3 (permalink)  
Old 10-13-2008
SpiralSpastic SpiralSpastic is offline
Registered User
  
 

Join Date: Oct 2008
Posts: 4
Hi,

This function is a sub-function from a menu base command.
Core process CEDP1300 will read both APPNFC.INC and APPLIC.INC file before continue with other process..

Now only 1 file APPLIC.INC are read from this old function.. How to include the new file APPNFC.INC so that it can read both file (APPLIC.INC & APPNFC.INC) before it go to main process CEDP1300??
  #4 (permalink)  
Old 10-14-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmer, author
  
 

Join Date: Mar 2007
Location: Toronto, Canada
Posts: 2,373
Quote:
Originally Posted by SpiralSpastic View Post
Hi,

This function is a sub-function from a menu base command.

What is a "sub-function"?
Quote:
Core process CEDP1300 will read both APPNFC.INC and APPLIC.INC file before continue with other process..

Now only 1 file APPLIC.INC are read from this old function..

What "old function"?

Why is only one file read?
Quote:
How to include the new file APPNFC.INC so that it can read both file (APPLIC.INC & APPNFC.INC) before it go to main process CEDP1300??

What do you mean by "read the files"?

If the process has to read the files, you have to give it the names of the files to read.
  #5 (permalink)  
Old 10-15-2008
SpiralSpastic SpiralSpastic is offline
Registered User
  
 

Join Date: Oct 2008
Posts: 4
Current file is APPLIC.YYYYMMDD and it will copied to APPLIC.TMP before I run the process CEDP3100 that will read APPLIC.TMP to verify the file.

I've already amend CEDP3100 core process to verify the file APPLIC.TMP and APPNFC.TMP. So how I need to do for amend existing script to add for read new file APPNFC.YYYYMMDD so i can convert to APPNFC.TMP and after that the core process (CEDP3100) will read both file and verify it. After that I need to convert back APPLIC/APPNFC .TMP back to APPLIC.INC and APPNFC.INC. I've thinking for while loop to process the file, but i need any suggestion that can change the original coding.


Code:
#==========================
function DO_ELOAN_FILES
#==========================
{
    echo "Processing Eloan Files (APPLIC) ..."
     if test -s $importdir/nonfin/APPLIC* //read APPLIC.YYYYMMDD
     then
        > APPLIC.INC 
        for incfl in $importdir/nonfin/APPLIC*
        do

          if test -s $incfl
          then
             cp $incfl APPLIC.TMP //copied the APPLIC.YYYYMMDD to .TMP file
             CEDP1300 //core process to verify the file
             if [ $? -eq 0 ] // if successful
             then
                cat APPLIC.INC $incfl > tmpincfl
                mv tmpincfl APPLIC.INC
                rm -f $incfl
             else
                mv $incfl ../errfiles/ //if failed
                echo "Eloan Files (APPLIC) Pre-edit failed!!!"
             fi
      else
        echo "ELoan Files (APPLIC) is empty"
        echo "ELoan Files (APPLIC) is empty" >> EDPIMPORT.LST
          fi
        done
        rm APPLIC.TMP
        echo "Eloan Files (APPLIC) successfully copied."
        echo "Eloan Files (APPLIC.INC) successfully copied." >> EDPIMPORT.LST
        echo >> EDPIMPORT.LST
     else
        echo "Eloan (APPLIC) Files not found."
        echo "Eloan (APPLIC) Files (APPLIC.INC) not found." >> EDPIMPORT.LST
        echo >> EDPIMPORT.LST
     fi
     echo

}

I've put some comment in RED for Mr.Johnson to under stand the situation
  #6 (permalink)  
Old 10-15-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmer, author
  
 

Join Date: Mar 2007
Location: Toronto, Canada
Posts: 2,373

There are still errors that I pointed out before.

Please correct them before going any further.
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 09:42 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0