Sponsored Content
Top Forums Shell Programming and Scripting variable lookup problem in shell script Post 302321964 by cfajohnson on Tuesday 2nd of June 2009 12:12:23 PM
Old 06-02-2009
Quote:
Originally Posted by mnmonu
Quote:
Originally Posted by cfajohnson

Have you exported the variable? If not, child processes will not see it.

In .bash_profile:

Code:
export INSTALL_BASEPATH

Yes I have already entried in .bash_profile as
export INSTALL_BASEPATH=/vol2/RAORV_HOME

and I check it if I print the value from shell script it works well in cp command it's not working

When you post code, please wrap it in [code] tags.
Quote:
Code:
tempURL=`cat PropertiesFileURL_unix.txt|tr '\n' ' '|tr -d '\r'`
urlCount=(`echo "$tempURL" | sed 's/[^ ]//g' | wc -c` ) 
urlCount=`expr $urlCount - 1`


You have six external commands in three lines. You need no more than 2. (You never need expr; the shell can do integer arithmetic.)

It's not clear exactly what you are counting, so it's hard to recommend any code.
Quote:
Code:
echo "urlCount------------->"$urlCount
URL=( $tempURL )


Ah!

I think everything up to this point can be replaced with:

Code:
oIFS=$IFS
IFS='
'
URL=( $(tr -d '\r' < PropertiesFileURL_unix.txt) )
IFS=$oOFS
urlCount=${#URL[@]}

See? One external command!
Quote:
Code:
distributionName=`echo $INSTALL_BASEPATH|awk -F "/" '{print $NF}'`
ratingdirName=`echo $INSTALL_RATPATH|awk -F "/" '{print $NF}'`


You don't need awk:

Code:
distributionName=${INSTALL_BASEPATH##*/}
ratingdirName=${INSTALL_RATPATH##*/}

Quote:
Code:
for(( j =0; j< $urlCount ; j++ ))
do
    echo -e "{URL[$j]}------------->"${URL[j]}
    serverName=`echo ${URL[$j]}|awk -F "/" '{print $2}'|tr -d ' ' `
    echo "serverName---------------->"$serverName
    
    if [ $serverName == "abc-5.0" ] 
    then
    dirstructure=`echo ${URL[$j]} | awk -F"/" 'BEGIN{ OFS="/" } {$1="";$NF=""; print $0 }'`


You don't need awk:

Code:
dirstructure=${URL[$j]#*/}
dirstructure=/${dirstructure%/*}/

Quote:
Code:
    `mkdir -p $distributionName$dirstructure`


Why do you have that in backticks?

And are you sure that $distributionName ends with a slash?
Quote:
Code:
    echo ${URL[j]}
    cp ${URL[j]} $distributionName/$dirstructure


Does $distributionName/$dirstructure exist?
Quote:
Code:
    
    elif [ $serverName == "abcra-5.0" ] 
    then
    dirstructure=`echo ${URL[$j]} | awk -F"/" 'BEGIN{ OFS="/" } {$1="";$NF=""; print $0 }'`
    `mkdir -p $distributionName/$dirstructure`
    
    elif [ $serverName == "abctl-5.0" ]
    then
    dirstructure=`echo ${URL[$j]} | awk -F"/" 'BEGIN{ OFS="/" } {$1="";$NF=""; print $0 }'`
    `mkdir -p $distributionName/$dirstructure`
    elif [ $serverName == "abcbill-5.0" ]
    then
    dirstructure=`echo ${URL[$j]} | awk -F"/" 'BEGIN{ OFS="/" } {$1="";$NF=""; print $0 }'`
    `mkdir -p $ratingdirName/$dirstructure`
    else
    echo "Unknown"
    fi
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

problem in getting the path of environment variable set in bashrc in my shell script

hi all i have joined new to the group. i have set an variable in my bashrc file. .bashrc PROGHOME=/home/braf/braf/prog export PROGHOME but while using it in my shell script its path is not taken and i had to explicitly give the export command to set the path. in my script... (8 Replies)
Discussion started by: krithika
8 Replies

2. UNIX for Dummies Questions & Answers

Problem in incrementin a variable in UNIX shell script

I have a simple query If we have BATCH= 081675 and incremnting it by one as BATCH=`expr ${BATCH} + 000001`; We can't get BATCH = 081676 but gets BATCH = 81676 Can anyone tell why i am getting this value and not the rquired one and how i could get the required one? (1 Reply)
Discussion started by: communicator
1 Replies

3. Shell Programming and Scripting

assign awk's variable to shell script's variable?

Dear All, we have a command output which looks like : Total 200 queues in 30000 Kbytes and we're going to get "200" and "30000" for further process. currently, i'm using : numA=echo $OUTPUT | awk '{print $2}' numB=echo $OUTPUT | awk '{print $5}' my question is : can I use just one... (4 Replies)
Discussion started by: tiger2000
4 Replies

4. Shell Programming and Scripting

have a problem in using a variable in kourne shell script

when I write the kourne shell script on a solaris machaine like this: #!/bin/ksh myps =50 echo $myps and when I run this script with typing "myfile" , it shows this message: myfile: myps: not found I think I write a correct syntax but why a program show error like that. (3 Replies)
Discussion started by: thsecmaniac
3 Replies

5. Shell Programming and Scripting

Sed variable from lookup table

I have a file with the following format --TABLEA_START-- field1=data1;field2=data2;field3=data3 --TABLEA_END-- --TABLEB_START-- field1=data1;field2=data2;field3=data3 --TABLEB_END-- --TABLEA_START-- field1=data1;field2=data2;field3=data3 ... (0 Replies)
Discussion started by: milo7
0 Replies

6. Shell Programming and Scripting

Problem getting the content of a file in a shell script variable

Hi, I have a text file that has a long multi-line db2 CTE query. Now I want to store all the contents of this file (i.e. the entire query) in a shell script variable. I am trying to achieve it by this: query = `cat /Folder/SomeFile.txt` But when I echo the contents of this file by saying echo... (4 Replies)
Discussion started by: DushyantG
4 Replies

7. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

8. Shell Programming and Scripting

Problem with lookup in awk

I need to add new ID to the file with old ID (column 7), I collected old ID / new ID pairs in a lookup file and I am trying to use awk to do the job, but something is not clicking. My input file ABC| 107|1440589221| -118.117167| 33.986333|10| 497476|1 ABC| 125|1440591215| -118.181000| ... (4 Replies)
Discussion started by: migurus
4 Replies

9. Shell Programming and Scripting

Help with Shell Script: User Lookup

Hi everyone, Let me start by stating this question is for homework help (not "help, my boss needs this ASAP") I have spent the last few days re-visiting this script, and cannot figure out where I am going wrong (something simple I'm sure). I am to build a script that searches for a user... (1 Reply)
Discussion started by: jjc032681
1 Replies

10. UNIX for Beginners Questions & Answers

How can I assign awk's variable to shell script's variable?

I have the following script, and I want to assign the output ($10 and $5) from awk to N and L: grdinfo data.grd | awk '{print $10,$5}'| read N L output from gridinfo data.grd is: data.grd 50 100 41 82 -2796 6944 0.016 0.016 3001 2461. where N and L is suppose to be 3001 and 100. I use... (8 Replies)
Discussion started by: geomarine
8 Replies
All times are GMT -4. The time now is 07:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy