[clue] env variables

dennisjperkins at comcast.net dennisjperkins at comcast.net
Mon Jun 24 14:56:57 MDT 2013


The proper place for these might be in one of the Bash config files. 

----- Original Message -----
From: "Stephen Queen" <svqueen at gmail.com> 
To: "Mark G. Harvey" <markgharvey at yahoo.com>, "CLUE's mailing list" <clue at cluedenver.org> 
Sent: Monday, June 24, 2013 2:37:49 PM 
Subject: Re: [clue] env variables 








When you add 
#!/bin/bash 
to the top of your script, you are starting a new shell. When the script completes, it exits that shell. Instead "source" you environmental variables. Create a file my_env that contains your export commands 
# cat my_env 
export JAVA_HOME=/usr/java/jdk1.7.0_21 
export PATH=$PATH:/usr/java/jdk1.7.0_21/bin 

Then source the file 
. my_env 

(space between . and my_env, does not need to be executable). 
Now when you 
# echo $JAVA_HOME 
usr/java/jdk1.7.0_21 
# 

Steve 











On Mon, Jun 24, 2013 at 1:54 PM, Mark G. Harvey < markgharvey at yahoo.com > wrote: 





CLUE experts, 

This puzzle is likely simple for you folks, but it has me stumped. I've done considerable digging but have found mixed advice. 

I've created a script to download from a local repo via wget an rpm to install JDK ... no problem there. 

Here's the part I can't get right ... setting the variables so I can run scripts to install Tomcat ... Any attempt will bomb if it can't find /usr/java/jdk1.7.0_21/bin 


# set JAVA_HOME variable ... tried in vain 
echo "setting JAVA_HOME variable variable for the session" 
JAVA_HOME=/usr/java/jdk1.7.0_21 
# export JAVA_HOME variable ... tried in vain 
echo "exporting JAVA_HOME variable variable for the session" 
export JAVA_HOME=/usr/java/jdk1.7.0_21 
echo "JAVA_HOME variable: $JAVA_HOME" 

# set PATH variable for the session ... tried in vain 
echo "setting PATH variable for the session" 
PATH=$PATH:/usr/java/jdk1.7.0_21/bin 
# export PATH variable for the session 
echo "exporting PATH variable for the subsequent sessions & processes" 
export PATH=$PATH:/usr/java/jdk1.7.0_21/bin 
echo "show PATH variable: $PATH" 

sleep 3 # wait 

# create script to set JAVA_HOME & PATH variables in /etc/profile.d/00_jdk.sh script for all accounts 
# use echo command with single quotes to write the literal statement to the script 
touch /etc/profile.d/00_jdk.sh 
echo '#!/bin/bash' >> /etc/profile.d/00_jdk.sh 
echo '# set JAVA_HOME in /etc/profile.d/00_jdk.sh script for all accounts' >> /etc/profile.d/00_jdk.sh 
echo 'JAVA_HOME=/usr/java/jdk1.7.0_21' >> /etc/profile.d/00_jdk.sh 
echo '# set PATH in /etc/profile.d/00_jdk.sh script for all accounts' >> /etc/profile.d/00_jdk.sh 
echo 'PATH=$PATH:/usr/java/jdk1.7.0_21/bin' >> /etc/profile.d/00_jdk.sh 

sleep 3 # wait 

echo "review contents of /etc/profile.d/00_jdk.sh" 
cat /etc/profile.d/00_jdk.sh 


... results of install ... added some blank lines for readability ... 

[root at 87148-mondev01 ~]# ./ DEV_install_jdk1.7-1.0.0.sh 
installation: Oracle/Sun jdk 1.7 64-bit 
remount /tmp with execute privledge 
changed to /tmp 
Pulling package from Artifactory Repo Management Server 
--2013-06-24 13:24:38-- https://<RepoHost>/artifactory/simple/ext-release-local/oracle/jdk/7u21-linux/jdk-7u21-linux-x64.rpm 
Resolving <RepoHost>... 10.33.44.10 
Connecting to <RepoHost>|10.33.44.10|:443... connected. 

HTTP request sent, awaiting response... 200 OK 

Length: 85388149 (81M) [application/x-rpm] 
Saving to: “jdk-7u21-linux-x64.rpm” 

100%[=======================================================================================================================================>] 85,388,149 52.7M/s in 1.5s 

2013-06-24 13:24:40 (52.7 MB/s) - “jdk-7u21-linux-x64.rpm” saved [85388149/85388149] 

jdk downloaded 
check /tmp/ contents for jdk 
-rw-r--r--. 1 root root 85388149 Jun 6 16:46 jdk-7u21-linux-x64.rpm 
install jdk rpm 
Preparing... ########################################### [100%] 
package jdk-2000:1.7.0_21-fcs.x86_64 is already installed ........ due to subsequent running of this script 
install jdk complete 

setting JAVA_HOME variable variable for the session 
exporting JAVA_HOME variable variable for the session 

... when tested in the script, the correct answer shows up ... 

JAVA_HOME variable: /usr/java/jdk1.7.0_21 

setting PATH variable for the session 
exporting PATH variable for the subsequent sessions & processes 

... when tested in the script, the correct answer shows up ... 


show PATH variable: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.7.0_21/bin:/usr/java/jdk1.7.0_21/bin 

review contents of /etc/profile.d/00_jdk.sh 
#!/bin/bash 
# set JAVA_HOME in /etc/profile.d/00_jdk.sh script for all accounts 
JAVA_HOME=/usr/java/jdk1.7.0_21 
# set PATH in /etc/profile.d/00_jdk.sh script for all accounts 
PATH=$PATH:/usr/java/jdk1.7.0_21/bin 
remount /tmp removing execute privledge 
finished 


... after script runs, when tested from CLI, variables not not correct ... 

[root at 87148-mondev01 ~]# echo $JAVA_HOME 

[root at 87148-mondev01 ~]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 



[root at 87148-mondev01 ~]# exit 
logout 

[vwadmin at 87148-mondev01 ~]$ su - 
Password: 


... now the variable additions show up ... they come from the /etc/profile.d/00_jdk.sh script created as part of the JDK download & install ... 

[root at 87148-mondev01 ~]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_21/bin:/root/bin 

[root at 87148-mondev01 ~]# echo $JAVA_HOME 
/usr/java/jdk1.7.0_21 



... How can I get the variables to be available for the current root session & usable for subsequent installations? Trying to avoid the logout / login ... 



Thanks for your help. 

_______________________________________________ 
clue mailing list: clue at cluedenver.org 
For information, account preferences, or to unsubscribe see: 
http://cluedenver.org/mailman/listinfo/clue 




_______________________________________________ 
clue mailing list: clue at cluedenver.org 
For information, account preferences, or to unsubscribe see: 
http://cluedenver.org/mailman/listinfo/clue
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cluedenver.org/pipermail/clue/attachments/20130624/fa56cf7e/attachment.html 


More information about the clue mailing list