I need urgent help with a small program that is run via shell script. Unfortunately I only understand the bare basics of shell scripting and can't figure out how to do this.
We have a program that tests the connection between 3 servers. I have a script that lets the program run on one specific server.
We have nearly the same directory structure on all servers and I need the script to be able to run this program from all servers without using individual scripts for each one.
That is we deploy the program and then simply copy the script from one server to the other 2.
Here is the script so far.
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 = ${CLASSPAT}"
#/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
$_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
Now I only get a fraction of what it does and the comments don't help me that much either.
Can anyone point me in the right direction?
Help would be much appreciated!
---------- Post updated at 03:37 PM ---------- Previous update was at 12:58 PM ----------
So far the only things referring to something unique on that server I found are:
In the last line:
Quote:
/spd/iu/web/kon/lib/
These directories have different names on each server.
And the arcjob-3-4-1.jar doesn't exist on all servers (I'll have to find an equivalent expression for each server).
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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT OSF1
printenv
env(1) General Commands Manual env(1)NAME
env, printenv - Displays or sets the current environment, or displays the values of environment variables
SYNOPSIS
Current Syntax
env [-i] [name=value...] [command] [args...]
printenv [name]
Obsolescent Syntax
env [-] [name=value...] [command] [args...]
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
env: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
Invokes utility with exactly the environment specified by the arguments; the inherited environment is ignored completely. Changes are in
effect only while the specified command is running. Dash is equivalent to -i option.
OPERANDS
Changes in the form name=value are added to the current environment before the command is run. [Tru64 UNIX] Name of an environment vari-
able to be printed. Name of a command to be invoked with the modified environment. Arguments to be passed to command when it is executed.
DESCRIPTION
The env command lets you get and change your current environment, and then run the specified command with the changed environment. If the
-i option is used, the current environment is ignored and the command runs with only the changed environment. Changes are only in effect
while the specified command is running.
If command is not specified, env displays your current environment, one name=value pair per line.
[Tru64 UNIX] The printenv command displays the values of the variables in the environment. If name is specified, only its value is
printed. If name is not the name of a currently set environment variable, only a blank line is printed, no error is reported. If name is
not specified, printenv displays the current environment, one name=value per line.
EXIT STATUS
If command is invoked, the exit status of env is the exit status of command; otherwise, the env utility exits with one of the following
values: The env utility completed successfully. An error occurred in the env utility. The command specified by command was found but
could not be invoked. The command specified by command could not be found.
EXAMPLES
To add a shell variable to the environment for the duration of one command (sh only), enter: TZ=MST7MDT date env TZ=MST7MDT date
Each of these commands displays the current date and time in Mountain Standard Time. The two commands shown are equivalent. When
date is finished, the previous value of TZ takes effect again. To replace the environment with another one, enter: env -i
PATH=$PATH IDIR=/u/jim/include LIBDIR=/u/jim/lib make
This runs make in an environment that consists only of these definitions for PATH, IDIR, and LIBDIR. You must redefine PATH so that
the shell can find the make command.
When make is finished, the previous environment takes effect again. To find the current setting of the TERM environment variable,
enter: printenv TERM
The command returns the value for the TERM environment variable.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of env: Provides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari-
ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value,
overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for-
mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of
LC_MESSAGES.
SEE ALSO
Commands: csh(1), ksh(1), Bourne shell sh(1b), POSIX shell sh(1p)
Functions: exec(2)
Standards: standards(5)env(1)