Visit Our UNIX and Linux User Community


how to read the relative path


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to read the relative path
# 1  
Old 07-31-2009
how to read the relative path

suppose i ahve a shell script Nsdnet.sh inside a directory /dialp/Release/bin
another file nsdnet_file.csv is under the same directory. Now in the shell script i have call a java file, which reads the csvfile from the commandline.
Now when i run the file as
$ ./Nsdnet.sh ./nsdnet_file.csv
then the csv file is not read by the file.

Please help..
its urgentSmilie
# 2  
Old 07-31-2009
So, you are writing a shell script,
passing the csv file name to it as parameter and
inside the script feeding the csv file to a java program...

Am I correct?

You might be doing wrong while calling the java program and feeding the csv file to it.

Show us what you are doing in shell script..
# 3  
Old 07-31-2009
Code:
if [ "$1" = "" ];
then        ## No parameters were entered
    echo "Enter the fully qualified file name:"
    read mInputValue
else
    mInputValue=$1
    echo "The file name entered was "$mInputValue
fi


if [ ! -r $mInputValue ]
then
    echo "File either don't exist or is not readable" > ${DIALPBIN}/Nsdnet.log
    mailx -s "NSDNet processing failed" "xxxxx@rediffmail.com" < ${DIALPBIN}/Nsdnet.log
    exit 1
fi


count=`wc -l $mInputValue | cut -c1-9`
if [ $count -eq 0 ]
then
      
    echo "NSDNET Processing Failed because there are no records in the file" > ${DIALPBIN}/Nsdnet.log
    mailx -s "NSDNet processing failed" "xxxxxx@rediffmail.com" < ${DIALPBIN}/Nsdnet.log
    exit 1
fi


####################################################################
###Execute Nsdnet.class for processing the Input Files
####################################################################

echo "Processing started at `date`" > ${DIALPBIN}/Nsdnet.log
# ARG1 -----> Name of the Input File containing data to be inserted in database
cd ${BIPS_HOME}
if [[ -r $mInputValue ]]
then
    #echo "argument is $1"
    $JAVA_HOME/bin/java -Drelease_dir=$REL -classpath $CLASSPATH com.att.ams.interfaces.nsdnet.Nsdnet $mInputValue >> ${DIALPBIN}/Nsdnet.log
fi

echo "Processing ended at `date`" >> ${DIALPBIN}/Nsdnet.log

exit $?

it is working fine, if the full path is given
like $./Nsdnet.sh /dialp/release/bin/nsdnet_file.csv

but notm working when "./nsdnet_file.csv" name is given

Last edited by DukeNuke2; 07-31-2009 at 09:27 AM..
# 4  
Old 07-31-2009
It is because your java program is not at the same place where your csv file is...

Try...
Code:
#if you have passed the absolute path, it will take the .csv name
mInputValue=`basename $mInputValue`  

#And finally the absolute path.
`pwd`/$mInputValue


Alternatively, You can use if-else and then pass the absolute path...


PS-- Always use code tags.
# 5  
Old 07-31-2009
but nsdnet_file.csv can be any directory.
suppose it is one directory back, then the commandline argument will be
../nsdnet_file.csv

but in such case java file is not being called..

plz suggest some solutionSmilie
# 6  
Old 07-31-2009
Replace
Code:
$JAVA_HOME/bin/java -Drelease_dir=$REL -classpath $CLASSPATH com.att.ams.interfaces.nsdnet.Nsdnet $mInputValue ....

with
Code:
$JAVA_HOME/bin/java -Drelease_dir=$REL -classpath $CLASSPATH com.att.ams.interfaces.nsdnet.Nsdnet `pwd`/$mInputValue ...


Previous Thread | Next Thread
Test Your Knowledge in Computers #270
Difficulty: Easy
Steve Jobs died of respiratory arrest related to a car accident at age 56 on October 5, 2011.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Convert Relative path to Absolute path, without changing directory to the file location.

Hello, I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies

2. UNIX for Dummies Questions & Answers

Help with cp command using relative path?

I have a lab I am doing for a Linux Operating class. The question I am stumped on is "For the following questions, only use the cp command to copy files. You should currently be inside your lab07 directory. Create a subdirectory inside this directory called ones and copy (working ... (1 Reply)
Discussion started by: CodyMongrel
1 Replies

3. Shell Programming and Scripting

Relative path not safe

Hallo everyone, I am running an SQL-Script over KShell-Script. Thus, in the KShell-Script there are these lines: WORKPATH=$PWD/work EXPORTDIR=export_meine_datei_bitte EXPORTPATH=${WORKPATH}/${EXPORTDIR} ... db2 connect to ${DBNAME} || die "can not open database connection" db2... (9 Replies)
Discussion started by: ratnalein88
9 Replies

4. UNIX for Dummies Questions & Answers

How to convert relative path to absolute path?

Hello Everyone, I want to convert Relative Path - /home/stevin/data/APP_SERVICE/../datafile.txt to Absolute Path - /home/stevin/data/datafile.txt Is there a built-in tool in Unix to do this or any good ideas as to how can I implement this. -Steve (5 Replies)
Discussion started by: qwarentine
5 Replies

5. Shell Programming and Scripting

How to change Absolute path to Relative path

Hello, I have a doubt:- --------------------- Current script:- ################################################################################################ prefix=user@my-server: find . -depth -type d -name .git -printf '%h\0' | while read -d "" path ; do ( cd "$path" || exit $?... (4 Replies)
Discussion started by: sahil_jammu
4 Replies

6. Shell Programming and Scripting

absolute path for a script ran with relative path

I have a script in which i want to print absolute path of the same script irrespective of path from where i run script. I am using test.sh: echo "pwd : `pwd`" echo "script name: $0" echo "dirname: `dirname $0`" when i run script from /my/test/dir/struct as ../test.sh the output i... (10 Replies)
Discussion started by: rss67
10 Replies

7. UNIX for Dummies Questions & Answers

Help with absolute path and relative path

I'm having problems accessing the Knoppix software on my current computer and the replacement CD I ordered hasn't arrived yet. I have a guess at what the answer would be for this question but I am not sure as I cannot test it with the software. I have to create a directory called class, and... (1 Reply)
Discussion started by: mzero
1 Replies

8. Shell Programming and Scripting

Finding relative path of a file

I have to relatively get the path of a file to use it in the script. The directory structure is /export/opt/XTools/ and under this there are several version directories - 1.0_A0, 1.0_A1, 1.0_A2 etc.,. The actual file is under these directories: installscript.sh My script should pickup the... (4 Replies)
Discussion started by: chiru_h
4 Replies

9. Shell Programming and Scripting

getting full path from relative path

given a relative path, how do i convert it into a full one. i.e. if i am in /home/polypus and i am given foo/bar then to get a full path i can just concatinate it with pwd, but what if i am given "../mama" how do i programmatically convert: /home/polypus and ../mama into ... (4 Replies)
Discussion started by: polypus
4 Replies

10. UNIX for Dummies Questions & Answers

vi - replacing a relative path with absolute path in a file

Hi, I have a file with about 60 lines of path: app-defaults/boxXYZ....... I want to change this to /my/path/goes/here/app-defaults/boxXYZ, but of course vi doesn't like the regualr :s/old/new/ command. Is there any other quick way to do this? Thanks ;) (2 Replies)
Discussion started by: Yinzer955i
2 Replies

Featured Tech Videos