<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Arial; font-size: 12pt; color: #000000'>I'm guessing your script began with #!/bin/bash.&nbsp; That spawns a new process with its own environment inherited from th parent.&nbsp; JAVA_HOME and PATH were set and exported in your script, so those values are set in your script's environment (and for any programs that it called).&nbsp; It does not set values in the parent environment.&nbsp; Try running it without #!/bin/bash.&nbsp; I think that will run the script in the same environment.&nbsp; Note that this means that your script can only be called from bash.<br><br><br>I have a few comments on the scripts.<br><br>1. Why the sleep statements?&nbsp; They don't appear to do anything useful.<br><br>2. You don't need to use touch to create the file.<br><br>3. You probably want to use &gt; to write the first line to /etc/profile.d/00_jdk.sh.&nbsp; If the file already exists, you're appending your string.&nbsp; Using &gt; will erase the file if it exists and write the string to an empty file.<br><br>&nbsp;4. You could use a HERE doc statement for all of the echoes you used to create 00_jdk.sh.<br><hr id="zwchr"><b>From: </b>"Mark G. Harvey" &lt;markgharvey@yahoo.com&gt;<br><b>To: </b>"CLUEmessage CLUE" &lt;clue@cluedenver.org&gt;<br><b>Sent: </b>Monday, June 24, 2013 1:54:14 PM<br><b>Subject: </b>[clue] env variables<br><br><div style="color:#000; background-color:#fff; font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:10pt"><div>CLUE experts,&nbsp;</div><div><br>This puzzle is likely simple for you folks, but it has me stumped. &nbsp;I've done considerable digging but have found mixed advice.&nbsp;<br><br>I've created a script to download from a local repo via wget an rpm to install JDK ... no problem there.&nbsp;<br><br>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 &nbsp;<br><br><br># set JAVA_HOME variable &nbsp; ... tried in vain<br>echo "setting JAVA_HOME variable variable for the session"&nbsp;<br>JAVA_HOME=/usr/java/jdk1.7.0_21<br># export JAVA_HOME variable&nbsp;&nbsp;... tried in vain<br>echo "exporting JAVA_HOME variable variable for the session"&nbsp;<br>export JAVA_HOME=/usr/java/jdk1.7.0_21<br>echo
 "JAVA_HOME variable: $JAVA_HOME"<br><br># set PATH variable for the session &nbsp;&nbsp;... tried in vain<br>echo "setting PATH variable for the session"&nbsp;<br>PATH=$PATH:/usr/java/jdk1.7.0_21/bin<br># export PATH variable for the session<br>echo "exporting PATH variable for the subsequent sessions &amp; processes"&nbsp;<br>export PATH=$PATH:/usr/java/jdk1.7.0_21/bin<br>echo "show PATH variable: $PATH"<br><br>sleep 3 &nbsp;# wait<br><br># create script to set JAVA_HOME &amp; PATH variables in /etc/profile.d/00_jdk.sh script for all accounts<br># use echo command with single quotes to write the literal statement to the script<br>touch /etc/profile.d/00_jdk.sh<br>echo '#!/bin/bash' &gt;&gt; /etc/profile.d/00_jdk.sh<br>echo '# set JAVA_HOME in /etc/profile.d/00_jdk.sh script for all accounts' &gt;&gt; /etc/profile.d/00_jdk.sh<br>echo 'JAVA_HOME=/usr/java/jdk1.7.0_21' &gt;&gt; /etc/profile.d/00_jdk.sh<br>echo '# set PATH in /etc/profile.d/00_jdk.sh
 script for all accounts' &gt;&gt; /etc/profile.d/00_jdk.sh<br>echo 'PATH=$PATH:/usr/java/jdk1.7.0_21/bin' &gt;&gt; /etc/profile.d/00_jdk.sh &nbsp;<br><br>sleep 3 &nbsp;# wait<br><br>echo "review contents of /etc/profile.d/00_jdk.sh"<br>cat /etc/profile.d/00_jdk.sh<br><br><br>... results of install ... added some blank lines for readability ...<br><br>[root@87148-mondev01 ~]# ./DEV_install_jdk1.7-1.0.0.sh&nbsp;<br>installation: &nbsp;Oracle/Sun jdk 1.7 64-bit<br>remount /tmp with execute privledge<br>changed to /tmp<br>Pulling package from Artifactory Repo Management Server<br>--2013-06-24 13:24:38-- &nbsp;<a target="_blank" href="about:blank">https://&lt;RepoHost&gt;/artifactory/simple/ext-release-local/oracle/jdk/7u21-linux/jdk-7u21-linux-x64.rpm</a><br>Resolving&nbsp;&lt;RepoHost&gt;... 10.33.44.10<br>Connecting to&nbsp;&lt;RepoHost&gt;|10.33.44.10|:443...
 connected.<br><br>HTTP request sent, awaiting response... 200 OK<br><br>Length: 85388149 (81M) [application/x-rpm]<br>Saving to: “jdk-7u21-linux-x64.rpm”<br><br>100%[=======================================================================================================================================&gt;] 85,388,149 &nbsp;52.7M/s &nbsp; in 1.5s &nbsp; &nbsp;<br><br>2013-06-24 13:24:40 (52.7 MB/s) - “jdk-7u21-linux-x64.rpm” saved [85388149/85388149]<br><br>jdk downloaded<br>check /tmp/ contents for jdk<br>-rw-r--r--. 1 root root 85388149 Jun &nbsp;6 16:46 jdk-7u21-linux-x64.rpm<br>install jdk rpm<br>Preparing... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;########################################### [100%]<br>package jdk-2000:1.7.0_21-fcs.x86_64 is already installed &nbsp; &nbsp; &nbsp;........ due to subsequent running of this script<br>install jdk complete<br><br>setting JAVA_HOME variable variable for the session<br>exporting
 JAVA_HOME variable variable for the session<br><br>... when tested in the script, the correct answer shows up ...&nbsp;<br><br>JAVA_HOME variable: /usr/java/jdk1.7.0_21 &nbsp;&nbsp;<br><br>setting PATH variable for the session<br>exporting PATH variable for the subsequent sessions &amp; processes<br><br>... when tested in the script, the correct answer shows up ...&nbsp;<br><br><br>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<br><br>review contents of /etc/profile.d/00_jdk.sh<br>#!/bin/bash<br># set JAVA_HOME in /etc/profile.d/00_jdk.sh script for all accounts<br>JAVA_HOME=/usr/java/jdk1.7.0_21<br># set PATH in /etc/profile.d/00_jdk.sh &nbsp;script for all accounts<br>PATH=$PATH:/usr/java/jdk1.7.0_21/bin<br>remount /tmp removing execute privledge<br>finished<br><br><br>... after script runs, when tested from CLI, variables not not correct
 ...&nbsp;<br><br>[root@87148-mondev01 ~]# echo $JAVA_HOME<br><br>[root@87148-mondev01 ~]# echo $PATH<br>/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin<br><br><br><br>[root@87148-mondev01 ~]# exit<br>logout<br><br>[vwadmin@87148-mondev01 ~]$ su -<br>Password:&nbsp;<br><br><br>... now the variable additions show up ... they come from the&nbsp;/etc/profile.d/00_jdk.sh script created as part of the JDK download &amp; install ...&nbsp;<br><br>[root@87148-mondev01 ~]# echo $PATH<br>/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_21/bin:/root/bin<br><br>[root@87148-mondev01 ~]# echo $JAVA_HOME<br>/usr/java/jdk1.7.0_21<br><br><br><br>... How can I get the variables to be available for the current root session &amp; usable for subsequent installations? &nbsp;Trying to avoid the logout / login ...&nbsp;<br><br><br><br>Thanks for your help. &nbsp;<br></div></div><br>_______________________________________________<br>clue mailing list: clue@cluedenver.org<br>For information, account preferences, or to unsubscribe see:<br>http://cluedenver.org/mailman/listinfo/clue</div></body></html>