Using env variables to run a program


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using env variables to run a program
# 8  
Old 02-12-2014
Note sure if it works,
couldnt you try accessing all 3 dirs at once with something like: /spd/iu/web/{kon,ent,prod}/lib/

Or probably better using like:
Code:
for VARIANT in kon ent prod;do
    cp /spd/iu/web/$VARIANT/lib/* $NEWDEST
done

But then again, this might break up the server's file structure and PATH definitions....

I'm not really understanding this line:
Code:
$_RUNJAVA -d64 -Djava.library.path="/spd/iu/system/wls/wls1035/wlserver_10.3/server/native/solaris/x64/:/spd/iu/web/kon/lib/" \
    -cp "/spd/iu/system/util/te-con/te-con-1.2.0/lib/te-con-1.2.0_new.jar:/spd/iu/web/kon/lib/*" com.luz.telco.sandbox.tecon.ConnectionTest builtin/luz-kon-new.properties

But then again, it seems to me it contains all 3 diffrent locations...
# 9  
Old 02-13-2014
Ok, I got an env variable that solves my problem with the 3 different dirs.

Now I want to have the paths for this argument in an external .conf file

Code:
$_RUNJAVA -d64 -Djava.library.path="/spd/iu/system/wls/wls1035/wlserver_10.3/server/native/solaris/x64/:/spd/iu/web/$STAGE/lib/" -cp "/spd/iu/system/util/te-con/te-con-1.2.0/lib/te-con-1.2.0_new.jar:/spd/iu/web/$STAGE/lib/*" com.luz.telco.sandbox.tecon.ConnectionTest builtin/luz-$STAGE-new.properties

But when I create a file with

Code:
LIBPATH="/spd/iu/system/wls/wls1035/wlserver_10.3/server/native/solaris/x64/:/spd/iu/web/$STAGE/lib/" -cp "/spd/iu/system/util/te-con/te-con-1.2.0/lib/te-con-1.2.0_new.jar:/spd/iu/web/$STAGE/lib/*" com.luz.telco.sandbox.tecon.ConnectionTest builtin/luz-$STAGE-new.properties

And enter into the original file:

Code:
CONFIG_FILE="/spd/iu/system/util/te-con/te-con-1.2.0/lib/tecon.conf"
$_RUNJAVA -d64 -Djava.library.path=LIBPATH

it doesn't really work

---------- Post updated at 09:59 AM ---------- Previous update was at 09:34 AM ----------

I want to test if the file exists at all, so I added:

Code:
#Test if config file exists
CONFIG_FILE="/spd/iu/system/util/te-con/te-con-1.2.0/bin/tecon.conf"
if [ -e $CONFIG_FILE ]; then
.$CONFIG_FILE
echo "Config file found."
fi

When I run the script it doesn't work.
The error message is:
Quote:
test: argument expected
# 10  
Old 02-13-2014
Code:
#Test if config file exists and does not have null size 
CONFIG_FILE="/spd/iu/system/util/te-con/te-con-1.2.0/bin/tecon.conf"
if [ -s "$CONFIG_FILE" ]; then 
. $CONFIG_FILE
echo "Config file found."
fi

It should be a space between the dot and the $CONFIG_FILE in the line
Code:
. $CONFIG_FILE

# 11  
Old 02-13-2014
I still get the same error.

Here a few more details:

I run the script with ./connectiontest.sh
It then prints out:
Setting JAVA_HOME to /spd/iu/system/java/jdk1.6.0_65
CLASSPATH = /spd/iu/system/util/te-con/te-con-1.2.0/lib/te-con-1.2.0_new.jar:/spd/iu/system/util/te-con/te-con-1.2.0/lib/sapjco3-3.0.7jar
./connectiontest.sh: test: argument expected

My script currently looks like this:

Code:
#!/bin/ssh

# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ]; do
	ls=`ls -ld "$PRG"`
	link=`expr "$ls" : '.*-> \(.*\)$'`
	if expr "$link" : '/.*' > /dev/null; then
		PRG="$link"
	else
		PRG=`dirname "$PRG"`/"$link"
	fi
	echo "PRG = $PRG"
done

# Get standard environment variables
PRGDIR=`dirname "$PRG"`

# Only set $CT_HOME if not already set
# [ -z "CT_HOME" ] && CT_HOME=`cd "$PRGDIR/.." ; pwd`
CT_HOME=`cd "$PRGDIR/.." ; pwd`

# Make sure prerequisite environment variables are set
if [ -z "$JAVA_HOME" ]; then
	# For our servers we assume our standard jdk location
	if [ -d "/spd/iu/system/java/jdk1.6.0_65" }; then
		JAVA_HOME="/spd/iu/system/java/jdk1.6.0_65"
		echo "Seetting JAVA_HOME to $JAVA_HOME"
	else
		echo "Please set JAVA_HOME variable to a JDK >= 1.6.x"
		exit 1
	fi
fi

_RUNJAVA="$JAVA_HOME"/bin/java

# Set classpath
CLASSPATH="$CT_HOME"
CT_LIBDIR="$CT_HOME/lib"
if [ -d "${CT_LIBDIR}" ]; then
	for i in "${CT_LIBDIR}"/*.jar; do
		CLASSPATH="$CLASSPATH":"$i"
	done
else
	echo "Does not exist: ${CT_LIBDIR}"
fi

echo "CLASSPATH = ${CLASSPATH}"

#/spd/iu/system/util/te-con/te-con-1.2.0:/spd/iu/system/util/te-con/te-con-1.2.0/lib/te-con-1.2.0.jar:/spd/iu/system/util/te-con/te-con-1.2.0/lib/arcjob-3.4.1.jar

#Test if config file exists and does not have null size 
CONFIG_FILE="/spd/iu/system/util/te-con/te-con-1.2.0/bin/tecon.conf"
if [ -s "$CONFIG_FILE" ]; then 
. $CONFIG_FILE
echo "Config file found."
fi

$_RUNJAVA -d64 -Djava.library.path="/spd/iu/system/wls/wls1035/wlserver_10.3/server/native/solaris/x64/:/spd/iu/web/$STAGE/lib/" -cp "/spd/iu/system/util/te-con/te-con-1.2.0/lib/te-con-1.2.0_new.jar:/spd/iu/web/$STAGE/lib/*" com.luz.telco.sandbox.tecon.ConnectionTest builtin/luz-$STAGE-new.properties

$STAGE simply contains the dir name on each server.
# 12  
Old 02-13-2014
Maybe it's me, but are you sure about the first line of your script ?
#!/bin/ssh shouldn't it be something else like #!/bin/sh ?
# 13  
Old 02-13-2014
If changing the first line of the script doesn't fix the problem, it might be that there is a malformed if statement in /spd/iu/system/util/te-con/te-con-1.2.0/bin/tecon.conf. Please show us the contents of this file. (Note that the echo before you dot this file succeeds and the echo after you dot this file did not run.)
# 14  
Old 02-14-2014
The ssh was a typo here, in the script it's simply sh

The tecon.conf contains only one variable as of now:
$LIBPATH="/spd/iu/system/util/te-con/te-con-1.2.0/lib/"
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Setting ENV variables in PERL

I have perl script and in the first line we are invoking .sh script to set ENV variables. e..g eval '. $envfile; exec $PERL -S $0 "$@"' I want to change some of the env variables while the program is running and I am settging it like this .. $ENV{ORACLE_HOME}=trim($oraclehome);... (1 Reply)
Discussion started by: talashil
1 Replies

2. Shell Programming and Scripting

Env variables in script

Hi All, I have script and it's hardcoded the script ca invoke in user home dir and logs will be redirected to home dir of user. how to make the same script will be invoke from /usr/bin with out chg the logs and other functions path from /user/homedir . code is below: pls check how to... (1 Reply)
Discussion started by: saku
1 Replies

3. Red Hat

how to use env variables within ed

i have a file that i need to edit and replace a single value with another. so i have two variables, $oldvalue and $newvalue but below doesn't work: ed file.txt << EOF ,s/$oldversion/$newversion/g wq EOFi presume it's the $ that is the issue since it's actually special to ed. any suggestions?... (1 Reply)
Discussion started by: crimso
1 Replies

4. Solaris

env variables again

What is the difference between ${variable} and $variable when used in a script? (2 Replies)
Discussion started by: orange47
2 Replies

5. UNIX for Dummies Questions & Answers

How to update env variables.

I am newbie on Unix system and seek help for updating env variables. The condition is like this: On Unix server, I log in as oracle user (this is the super for database on Unix), I type > env all envirnment variables show up. I saw one variable DBA_LIST contains a few email addreses. I need... (2 Replies)
Discussion started by: duke0001
2 Replies

6. UNIX for Dummies Questions & Answers

set env variables in a new xterm

Hi, I have a script that sets some env variables. I want to source the script in a new xterm and after the script execution is over, the xterm has to be alive with the env variables set according to the script. I tried xterm -e "source ./myscript;tcsh" & The variables are getting set... (3 Replies)
Discussion started by: chaitubek
3 Replies

7. Shell Programming and Scripting

Getting the value of env variables

Hi, I want to get the value of the env varables using the ksh script. All the env variables are stored in a file. Eg. file1 $INPATH $OUTPATH myscirpt: for name in `awk { print $1 } file1` do cd $name done i'm getting the error like $INPATH not found. in the same script... (1 Reply)
Discussion started by: vij_krr
1 Replies

8. UNIX for Dummies Questions & Answers

Env variables not getting updated from the bashprofile

Hi, I am using the HP-UX machine of version B.11.23. My bashprofile looks like this : # @(#)B11.23_LR # Default user .profile file (/usr/bin/sh initialization). #! /usr/bin/bash # Set up the terminal: if then eval ` tset -s -Q -m ':?hp' ` else eval ` tset -s -Q ` fi stty erase "^H"... (0 Replies)
Discussion started by: swethuanju
0 Replies

9. UNIX for Advanced & Expert Users

Ksh - Env. Variables ??

Hey all, I have been using Ksh and in that I am setting Environment variables. To set Env. Variables I have created my own file "BuildScript.sh" in which i have written : export CLASSPATH=/somedir/some other dir/file:. export PATH=/some dir/file:. But when i am calling this... (4 Replies)
Discussion started by: varungupta
4 Replies

10. Shell Programming and Scripting

export env variables

hi i want to write a shell script to set environment variables . But i am not been able to set that for the current shell instead i have to spawn a new shell. Is there a way to set the env variable for the current shell using shell script in bash shell ? Thnx (2 Replies)
Discussion started by: varun.81
2 Replies
Login or Register to Ask a Question