What is wrong with this script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting What is wrong with this script
# 1  
Old 09-07-2011
What is wrong with this script

Good day all
I have a UNIX script that I created to set a couple of environment variables for my Oracle installation.

When I initially run the script, I get the correct values on the inbuilt echo command but when the script completes and I issue an echo statement

echo $ORACLE_SID, the system returns the previous SID. Am i missing something here. I am very new to Linux so please let me know if I need to clarify any details

Code:
 
clear
echo "Updating environment variables"
ORACLE_SID=ORCLNEW
export ORACLE_SID
echo "ORACLE SID IS" $ORACLE_SID
ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_BASE
echo "ORACLE BASE IS" $ORACLE_BASE
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_HOME
echo "ORACLE HOME IS" $ORACLE_HOME
PATH=/home/oracle/app/oracle/product/11.2.0/dbhome_2/bin
export PATH
echo "PATH IS" $PATH
LD_LIBRARY_PATH=/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib
export LD_LIBRARY_PATH
echo "LIBRARY PATH IS" $LD_LIBRARY_PATH
echo "Completed"

# 2  
Old 09-07-2011
Quote:
A script may not export variables back to its parent process, the shell, or to the environment. Just as we learned in biology, a child process can inherit from a parent, but not vice versa.
Gotchas
# 3  
Old 09-07-2011
Yazu
How does this interpret in English - I am very new to UNIX

---------- Post updated at 09:42 AM ---------- Previous update was at 09:23 AM ----------

So are you confirming I am unable to update variables using a shell script? Otherwise this means I have to update everyone of these variables eveytime I restart my Unix box.
# 4  
Old 09-07-2011
You just need to add your settings in your ~/.profile file.
# 5  
Old 09-07-2011
I plead for patience on this. In an attempt to run with your suggestion, I have attempted to update the .profile file which to my understanding should be in the home directory
Please see below

Code:
[oracle@localhost ~]$ pwd
/home/oracle
[oracle@localhost ~]$ ls
apex             fix.sql               orapworcl           reset.log           StartHere2010.htm
apexlistener.sh  jdeveloper            orapworclone        reset_OE.sql        start_timesten
app              listener              otn_logo_small.gif  reset_sqldev        startup
dav              oracle                otn_new.css         reset_xdbPorts.sql  status
Desktop          oracle_db11g_clr.gif  repos               reset_xmldb         stop_timesten
emshutdown       oraclonepwd           reset_apex          shrink.sh           svn_repo
emstartup        oradiag_oracle        reset_imdbcache     shutdown            tmp
[oracle@localhost ~]$ cd /home
[oracle@localhost home]$ ls
davfs2  lost+found  oracle

I am not seeing the .profile file in the user - oracle folder. I must add that I am using a Linux Virtual PC.

Any ideas?
# 6  
Old 09-07-2011
Code:
 
cd 
ls -la

# 7  
Old 09-07-2011
If you want it to be available in the current shell, you should source it like this . ./myscript. It is better to put it in .profile if it is required by apps/scripts.

--ahamed
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Why result is wrong here ? whether break statement is wrong ?

Hi ! all I am just trying to check range in my datafile pls tell me why its resulting wrong admin@IEEE:~/Desktop$ cat test.txt 0 28.4 5 28.4 10 28.4 15 28.5 20 28.5 25 28.6 30 28.6 35 28.7 40 28.7 45 28.7 50 28.8 55 28.8 60 28.8 65 28.1... (2 Replies)
Discussion started by: Akshay Hegde
2 Replies

2. Shell Programming and Scripting

What is wrong with my script?

Dear All The following is part of my script: echo ${myarray} mytitle=`awk '{print substr(${myarray}, 0, length(${myarray})-4)}' /dev/null` the echo ${myarray} works fine; however, I keep getting following error for the mytitle=.. part: awk: line 1: syntax error at or near { awk: line... (3 Replies)
Discussion started by: littlewenwen
3 Replies

3. Shell Programming and Scripting

Can anyone tell me what's wrong with my script

Hi... I am fed up in file handing with array for comparing.... 1st I want save first 2 columns of file 1 I tried like this,, {getline< "file1";ln=$1; lt=$2}then I read second file's 1st and 2nd column..and saved like this and small calculation and initialization var1 =$1 var2 =$2... (5 Replies)
Discussion started by: Akshay Hegde
5 Replies

4. UNIX for Dummies Questions & Answers

What's wrong on this script?

I get this error on these lines when i run this script:"for i in /home;do file2=`ls -s $i` if ;then ls - s $i fi done (7 Replies)
Discussion started by: kotsos13
7 Replies

5. Shell Programming and Scripting

Script Gone Wrong

Hello all, so this is a script i did for an assignement, - first option greets the user according to the time after fetching his name - second options isn't implemented - third check the performance according to how many users are using the system - creates a log of names, time and ip of the... (14 Replies)
Discussion started by: ibzee33
14 Replies

6. Shell Programming and Scripting

what is wrong with this script?

Hi I've made a short script but it is not working. Can some pl. help me out in this? ./123.sh #! /usr/bin/ksh # for changing to this directory cd /layered/relational/scripts When I run the above scripts, it doesn't change to the above directory. I don't what is the problem? the... (2 Replies)
Discussion started by: Mike1234
2 Replies

7. UNIX for Dummies Questions & Answers

what is wrong with this script?

Hi, I have this example script which gives error ": unexpected operator/operand". I need the '' brackets for operator precedence. #!/bin/ksh x="abc" y="xyz" z="123" if -a then print "yes" else print "no" fi Thanks (2 Replies)
Discussion started by: rs1969
2 Replies

8. Shell Programming and Scripting

What's wrong with this script

I am trying to create a script but it is giving me errors on Cygwin for the following script. Could someone tell me, what am I doing wrong? choice=1000 echo "choice is $choice" while ; do echo "choice is $choice" echo 'Please select your option:' echo '1. Option 1' echo '2. Option 2'... (3 Replies)
Discussion started by: amitg1980
3 Replies

9. Shell Programming and Scripting

What is wrong with this script?

I keep getting errors messages for the "else" statement at line 81? #!/bin/ksh ######### Environment Setup ######### PATH=/gers/nurev/menu/pub/sbin:/gers/nurev/menu/pub/bin:/gers/nurev/menu/pub/mac :/gers/nurev/menu/adm/sbin:/gers/nurev/menu/adm/bin:/gers/nurev/menu/adm/mac:/ge... (8 Replies)
Discussion started by: heprox
8 Replies

10. UNIX for Dummies Questions & Answers

What is wrong with my script?

Hey guys, can someone help me with this script... #!/bin/sh dir=`pwd` for i in *.f do if then M=`wc -l < ${i} sed -e 's://.*::' < ${i} | \ (echo "//${i} -"$M ; cat - ) > $i.tmp chmod 700 $i ; mv ${i}.tmp $i ... (6 Replies)
Discussion started by: Lem2003
6 Replies
Login or Register to Ask a Question