Reuse Variable..


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Reuse Variable..
# 8  
Old 03-09-2010
This might have been covered above.
The original statement contains too many quotes and as others have pointed out unnecessary "print" and "echo" commands. Remember that quotes act in pairs, though in this case it has no adverse effect.

Quote:
cv="$(print 'CV09')"
file_name="$(echo "CP99978_$cv.TXT")"
Can be simplified as:

Code:
cv="CV09"
file_name="CP99978_${cv}.TXT"

Now does this actually help:

In this test code we will try four values of ${cv}.

Code:
for cv in "2007" "2008" "2009" "2010"
do
          file_name="CP99978_${cv}.TXT"
          echo "${file_name}"
done

CP99978_2007.TXT
CP99978_2008.TXT
CP99978_2009.TXT
CP99978_2010.TXT

---------- Post updated at 01:31 ---------- Previous update was at 00:57 ----------

My attempt to rearrange the original post follows this quote from the O/P:

Quote:
job_name="$(echo "load_didrnge.sh")"
table_name="$(echo "DIDRNGE")"
cv="$(echo "CV000")"
cv="$(print 'CV09')"
file_name=`CP99978_`$cv`.TXT`

file_name="$(awk '{print $1}' $cv )"
log=/tmw/oradata14/monthly_log/CP99978_$cv.log

sqlldr crispadm/admcrisp data=/tmw/oradata14/CP99978_CV001.TXT control=/home/oracle9/dba_area/adslmpr.ctl log=/tmw/oradata14/monthly_log/CP99978_CV001.TXT.log \
bad=/tmw/oradata14/monthly_log/CP99978_CV001.TXT.bad errors=5000000 skip=1
set cv="$(echo "CV001")"
/home/oracle9/dba_area/general/PROCEDURE_TRACKING_LOG.sql "$job_name" "$file_name" "$table_name" "$log"


Some inspired guesswork here. Could be wrong. Untested. Check before use. Any likely typos from the original such as "CV09" and "crispadm/admcrisp" (not absolute path) are carried forward verbatim.
The idea is to illustrate parameter substitution in shell with no attempt to check the Oracle commands. I have attempted to get the line continuation characters correct "\" to make some sense of the Oracle commands. I now think that there are two commands.


FINAL FINAL ATTEMPT AT REARRANGING
Code:
job_name="load_didrnge.sh"
table_name="DIDRNGE"
for cv in "CV000" "CV001" "CV09"
do
    file_name="/tmw/oradata14/CP99978_${cv}.TXT"
    log="/tmw/oradata14/monthly_log/CP99978_${cv}.TXT.log"
    bad="/tmw/oradata14/monthly_log/CP99978_${cv}.TXT.bad"
    #
    sqlldr crispadm/admcrisp data="${file_name}" \
        control="/home/oracle9/dba_area/adslmpr.ctl" \
        log="${log}" \             
        bad="${bad}" \
        errors=5000000 skip=1
    #
    sqlplus /home/oracle9/dba_area/general/PROCEDURE_TRACKING_LOG.sql \
        "${job_name}" "${file_name}" "${table_name}" "${log}"
done

Guessed at sqlplus to run the second program.
Not happy that ${log} appears on both command lines, but without knowledge of the correct syntax or intentions we'll leave it to the author to decide.

Last edited by methyl; 03-09-2010 at 10:27 PM.. Reason: Typos and decided on reflection probably two Oracle commands. More corrections.
This User Gave Thanks to methyl For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Reuse format strings

I have a collection of format strings for sscanf, such as "%02d%*1s%02d%*1s%02d" to read in certain formatted strings, such as dates, times, etc. I wonder if there is a way to use them in printf without some changes? The example above would not work - at least I can't think of any ways to... (4 Replies)
Discussion started by: migurus
4 Replies

2. Solaris

Reuse old/configured server for new purpose problems.

Greetings. First of all I consider myself a newbe in Linux, that's why I'm seeking your help so please be patient! I was given an old server (Solaris) that has Oracle (10.2.0) installed with a few databases. I'm supposed to reuse this server for this new application which will process data... (11 Replies)
Discussion started by: RedSpyder
11 Replies

3. Shell Programming and Scripting

How to reuse values in Shell script

Hi I am trying to write a shell script and wanted to re-use the value which I have entered already. Here is the sample code. echo "Enter Value : \c" ; read val echo "Enter number: $val\c" ; read num Now I wanted to change the value as showing in 2nd Line or if I will use enter, it... (15 Replies)
Discussion started by: SushilAnand
15 Replies

4. Emergency UNIX and Linux Support

Reuse a LUN

I have a LUN (From HP-Storage VA7110) that is claimed on 2 servers, but is in used in one of the VG on Server-1 . Now I want to shut Server-1 and re-use that LUN on server-2 . Server-1 Path-1 : /dev/rdsk/c4t0d1 Path-2: /dev/rdsk/c6t0d1 Server-2 Path-1: /dev/rdsk/c5t0d1 Path-2:... (8 Replies)
Discussion started by: Shirishlnx
8 Replies

5. Shell Programming and Scripting

How to declare variables once and reuse them in other scripts?

Hello everyone. I'm trying to create a conf file with variables that my other scripts will use. I have several scripts that use the same variables, and since I don't know how to read them from an external file, i define them in each script (and then if i want to change one's value i need to... (4 Replies)
Discussion started by: moshe88
4 Replies

6. UNIX for Dummies Questions & Answers

Reuse argument from current command?

I'm currently using zsh. Sometimes I find myself wishing to reuse an argument from earlier in the command. I know that I can, of course, assign an argument to a variable ahead of time, and then easily use that variable more than once. I know about the ability to reuse arguments from previous... (0 Replies)
Discussion started by: marshaul
0 Replies

7. Linux

suggest some ideas for reuse

hi can you all help me to develop anything in unix that could be reused. any module or application could be helpful (0 Replies)
Discussion started by: infyanurag
0 Replies

8. HP-UX

Reuse disk from other HP-UX

Hello, I have 2 hp-ux both running 11.23, I have move one of a harddisk from "UNIX A" to "UNIX B", so how can I read back the data in "UNIX B"? Thanks (5 Replies)
Discussion started by: zetadhell
5 Replies

9. UNIX for Advanced & Expert Users

Password reuse utility

Does anyone know of a password reuse utility for Solaris 7 or 8? Security people are telling me that I need one. Thanks (1 Reply)
Discussion started by: rtoba
1 Replies

10. UNIX for Dummies Questions & Answers

How to reuse same major number

Hi, I am working on device drivers.Once If register a device i'll get one major no. If i unregister and register again i'll get a different major no.What i have to do to get same major no. each time :( (0 Replies)
Discussion started by: Agnello
0 Replies
Login or Register to Ask a Question