<div dir="ltr"><div><div><div><div><div><div>When you add <br>#!/bin/bash<br></div>to the top of your script, you are starting a new shell. When the script completes, it exits that shell. Instead &quot;source&quot; you environmental variables. Create a file my_env that contains your export commands<br>
# cat my_env<br>export JAVA_HOME=/usr/java/jdk1.7.0_21<br>export PATH=$PATH:/usr/java/jdk1.7.0_21/bin<br><br></div>Then source the file <br></div>. my_env<br></div><div>(space between . and my_env, does not need to be executable).<br>
</div>Now when you<br></div># echo $JAVA_HOME<br>usr/java/jdk1.7.0_21<br># <br><br></div>Steve<br><div><br><div><div><div><div> <br></div></div></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Mon, Jun 24, 2013 at 1:54 PM, Mark G. Harvey <span dir="ltr">&lt;<a href="mailto:markgharvey@yahoo.com" target="_blank">markgharvey@yahoo.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-size:10pt;font-family:Courier New,courier,monaco,monospace,sans-serif"><div>CLUE experts, </div><div><br>This puzzle is likely simple for you folks, but it has me stumped.  I&#39;ve done considerable digging but have found mixed advice. <br>
<br>I&#39;ve created a script to download from a local repo via wget an rpm to install JDK ... no problem there. <br><br>Here&#39;s the part I can&#39;t get right ... setting the variables so I can run scripts to install Tomcat ... Any attempt will bomb if it can&#39;t find /usr/java/jdk1.7.0_21/bin  <br>
<br><br># set JAVA_HOME variable   ... tried in vain<br>echo &quot;setting JAVA_HOME variable variable for the session&quot; <br>JAVA_HOME=/usr/java/jdk1.7.0_21<br># export JAVA_HOME variable  ... tried in vain<br>echo &quot;exporting JAVA_HOME variable variable for the session&quot; <br>
export JAVA_HOME=/usr/java/jdk1.7.0_21<br>echo
 &quot;JAVA_HOME variable: $JAVA_HOME&quot;<br><br># set PATH variable for the session   ... tried in vain<br>echo &quot;setting PATH variable for the session&quot; <br>PATH=$PATH:/usr/java/jdk1.7.0_21/bin<br># export PATH variable for the session<br>
echo &quot;exporting PATH variable for the subsequent sessions &amp; processes&quot; <br>export PATH=$PATH:/usr/java/jdk1.7.0_21/bin<br>echo &quot;show PATH variable: $PATH&quot;<br><br>sleep 3  # 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 &#39;#!/bin/bash&#39; &gt;&gt; /etc/profile.d/00_jdk.sh<br>echo &#39;# set JAVA_HOME in /etc/profile.d/00_jdk.sh script for all accounts&#39; &gt;&gt; /etc/profile.d/00_jdk.sh<br>
echo &#39;JAVA_HOME=/usr/java/jdk1.7.0_21&#39; &gt;&gt; /etc/profile.d/00_jdk.sh<br>echo &#39;# set PATH in /etc/profile.d/00_jdk.sh
 script for all accounts&#39; &gt;&gt; /etc/profile.d/00_jdk.sh<br>echo &#39;PATH=$PATH:/usr/java/jdk1.7.0_21/bin&#39; &gt;&gt; /etc/profile.d/00_jdk.sh  <br><br>sleep 3  # wait<br><br>echo &quot;review contents of /etc/profile.d/00_jdk.sh&quot;<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 ~]# ./<a href="http://DEV_install_jdk1.7-1.0.0.sh" target="_blank">DEV_install_jdk1.7-1.0.0.sh</a> <br>
installation:  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--  <a href="https://%3Crepohost%3E/artifactory/simple/ext-release-local/oracle/jdk/7u21-linux/jdk-7u21-linux-x64.rpm" target="_blank">https://&lt;RepoHost&gt;/artifactory/simple/ext-release-local/oracle/jdk/7u21-linux/jdk-7u21-linux-x64.rpm</a><br>
Resolving &lt;RepoHost&gt;... 10.33.44.10<br>Connecting to &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  52.7M/s   in 1.5s    <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  6 16:46 jdk-7u21-linux-x64.rpm<br>install jdk rpm<br>
Preparing...                ########################################### [100%]<br>package jdk-2000:1.7.0_21-fcs.x86_64 is already installed      ........ 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 ... <br><br>JAVA_HOME variable: /usr/java/jdk1.7.0_21   <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 ... <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  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
 ... <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: <br><br><br>... now the variable additions show up ... they come from the /etc/profile.d/00_jdk.sh script created as part of the JDK download &amp; install ... <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?  Trying to avoid the logout / login ... <br>
<br><br><br>Thanks for your help.  <br></div></div></div><br>_______________________________________________<br>
clue mailing list: <a href="mailto:clue@cluedenver.org">clue@cluedenver.org</a><br>
For information, account preferences, or to unsubscribe see:<br>
<a href="http://cluedenver.org/mailman/listinfo/clue" target="_blank">http://cluedenver.org/mailman/listinfo/clue</a><br></blockquote></div><br></div>