Trying to figure out how the environment variables are being set


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Trying to figure out how the environment variables are being set
# 1  
Old 06-02-2017
Trying to figure out how the environment variables are being set

I just started a new job and I've been tasked with cleaning up the files that set up all the environment variables. The system works as is. What happens is:
1. You log in to the server.
2. You call a file that sets a bunch of environment variables and that displays a list of all the databases you can connect to.
3. You select the database you want to connect to by calling a file that contains all the environment variables for that specific database (i.e. . filename).

This is all straight forward for some databases, but with others the file name starts with a period. Even though it starts with a period, executing the file with the . filename syntax seems to work fine.

With one database, there is no file under the home directory named after the database, and yet when you execute . filename for that database, you connect just fine.

Anyone have any ideas what is going on? I haven't been able to get any answers at my new job because everyone is so busy. Thank you in advance for any insight you can give.
# 2  
Old 06-02-2017
Files starting with a period won't show up in ls unless you do ls -a. They're not "hidden" so much as omitted for brevity, since .filename's are often per-user configs and login settings which you aren't looking for most of the time.
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 06-02-2017
Thank you Corona688. One of my questions is how come when I type , filename it executes a filename that begins with a period? Shouldn't I have to type . .filename to execute such a file?
# 4  
Old 06-02-2017
You should. ls -l filename to see what you're actually executing.

It's also possible someone put in some strange aliases to redefine some terms. Check your profiles.
This User Gave Thanks to Corona688 For This Post:
# 5  
Old 06-02-2017
You use the dot command:
Code:
. filename

to have the current shell execute the commands in filename in your current shell execution environment. This works as long as filename is readable by you. Since the commands in filename were executed in the current shell execution environment, any variables set while it was running will be available for you to use in subsequent commands.

You use the command:
Code:
filename

(without the .) to run the commands in filename in a separate shell execution environment . When the commands in filename are done, that separate shell execution environment is deleted and anything that commands in filename did that did not change other files or were not written somewhere disappear. This doesn't work unless you have permission to execute filename and filename is on your search path for commands (as specified by the PATH environment variable).

But, it is also possible for a shell script to set up an environment and invoke an interactive database session. That script will not end until the interactive session is terminated by logging out of the database session.

All of the above are possible whether or not filename's first character is a <period>. The best way to figure out what a script might do is usually to read the file and look at the manual pages for your system to figure out what the commands in that file are doing.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with change significant figure to normal figure command

Hi, Below is my input file: Long list of significant figure 1.757E-4 7.51E-3 5.634E-5 . . . Desired output file: 0.0001757 0.00751 0.00005634 . . . (10 Replies)
Discussion started by: perl_beginner
10 Replies

2. Shell Programming and Scripting

Need to SET Environment variables

Hi Could you please tell me how to set environment variables in Unix ksh. And how can acess those varibles in shell scripts ( Please give the code with an example) For my scenario. We have written number of shell scripts with hard coded username and password. But if we want to... (1 Reply)
Discussion started by: shyamu544
1 Replies

3. Shell Programming and Scripting

perl. How to set persistent environment variables

I have test.pl scrit with these few lines. #!/usr/bin/perl $ENV{'ORACLE_SID'} = "D3771"; $ENV{'ORACLE_HOME'} = "/oracle/product/10.2.0/db_1"; When I try . test.pl it throws an error. When I try test.pl, it doesn't reaing the variables I set in the script. -> . test.pl ksh:... (10 Replies)
Discussion started by: MKNENI
10 Replies

4. SCO

Help finding where certain environment variables are set

i have two machines that should be identical but on one system there are some oracle environment (ORACLE_SID, ORACLE_HOME, etc...) variables that are not being set for the users. I am trying to find where those environment variables are being set on the system which is working properly. All... (5 Replies)
Discussion started by: kuliksco
5 Replies

5. Shell Programming and Scripting

Set environment

Hi, I can run shell script from the command line using $ . set If the run the script inside perl script using $var = system("set"); print $var; This prints 0. This command sets up the environment from command line. But when used inside the shell script or perl script it... (2 Replies)
Discussion started by: sandy1028
2 Replies

6. Solaris

set environment variable?

I am working with solaris 9 sunBlade150 Box. I Installed a program, need to set the environment variable so that when the executable is entered,it finds the path to the executable. The documentation for the software says: Set the appropriate environment variable: Connect to server failed;... (8 Replies)
Discussion started by: smartgupta
8 Replies

7. Shell Programming and Scripting

How does the environment stay set

I am running this pre-script with a post scripts that needs to share the same variables. How do I keep the environment variable settings for the next script to access from the RMAN Script? Prescript #1 #RMAN Script #!/bin/ksh ORACLE_SID=INVPRD;export ORACLE_SID... (1 Reply)
Discussion started by: gzs553
1 Replies

8. Shell Programming and Scripting

Help to set the oracle environment????

Hi, I am trying to set the environment for my oracle database. I have 5 database in an unix box. My idea is to create 5 files for each database with the following script on it. After logging into the unix box ...just by typing the database name....the enviornment for the database... (2 Replies)
Discussion started by: castlerock
2 Replies

9. UNIX for Advanced & Expert Users

by using c++ how to set environment variables in unix

hi, I am writing c++ code in unix operating system.In that i need to set the environment variable in unix. suppose previously i have environment variable like path="something" now i need to change the path value to some othervalue . so that some other program will access that path value... (1 Reply)
Discussion started by: sada@123
1 Replies

10. UNIX for Dummies Questions & Answers

how to set up linux environment variables?

Hi I'm using Linux, in the directory /root/my there is a.out. but when I try to run it , the shell indicate "bash:a.out: command not found" but I AM working in this directory. if I use "./a.out" , it works perfectly. can any body tell me how to do a permanent set up so that I can use... (5 Replies)
Discussion started by: dell9
5 Replies
Login or Register to Ask a Question