Setting Environment variable from value in file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Setting Environment variable from value in file
# 1  
Old 03-04-2010
Setting Environment variable from value in file

I've searched Google and now this forum. Best guess is my search fu is not good (and it probably isn't). The Google search did bring me here.

Background
I have a number of Korn Shell scripts who all use one of 3 values for an environment variable used in the backup system.
On occasion one or more value will be changed by the backup team.

This make me have to manually edit each script to change the value.


What I'd like to do is have 3 files. Each containing one value.

And have the value brought into the script and exported as the value for the specific environment variable.

Thanks
WolfBrother
# 2  
Old 03-04-2010
???

Why not give the requested value as an argument of your script?
(will avoid the editing phase...)
# 3  
Old 03-04-2010
Quote:
Originally Posted by vbe
???

Why not give the requested value as an argument of your script?
(will avoid the editing phase...)
Good question - the script generally is a self contained script that may have to be executed by someone who may not know the valid value for that specific application.

I am an Oracle DBA. The specific scripts I'm dealing with are for one specific system. The backup parm is a sched id. For that one specific system there are three values. Other systems I have range from one completely different sched id to 5 differing sched ids. All specific to the system/DB instance they're backing up. Somewhere around 50 different ones just for the DBs I'm primary on. We're a fairly large organization, we have 15+ DBA's so you get an idea as to just the number of sched ids we'd have to remember.

I try to write my scripts so that all you have to do is execute the script without having to know the specifics to that system.

We source an instance specific <SID>.env file for specific environment variables. I could set them there but would still multiple edits if a sched id changes again.

Putting those environment variables common to several scripts known to have a history of being changed (like the sched ids for our backups) in a file that multiple scripts get the value from cuts down the number of edits made (and consequently the number of possible mistakes I could make).

Our scripting guru decided that Oregon was a better place to go so I'm having to learn more now.

Thanks.
Wolf Brother
# 4  
Old 03-04-2010
You could display the wanted values by testing if no arguments are given (would have to test the one given is valid anyway...)
# 5  
Old 03-04-2010
if you source the file it will work
e.g
var.file
Code:
VAR=blah

Code:
. var.file
etc
etc
echo $VAR

# 6  
Old 03-04-2010
What shell do you use (ksh, bash, sh ... whatever) ?
What are the names and example values of the three environment variables?

The sourcing using dot-space-scriptname advised above is the correct method.
# 7  
Old 03-05-2010
Quote:
Originally Posted by methyl
What shell do you use (ksh, bash, sh ... whatever) ?
What are the names and example values of the three environment variables?

The sourcing using dot-space-scriptname advised above is the correct method.

Korn Shell. 1 environment variable - 3 possible values at this time.

File names and value's
1mo - XFG1moDR
2mo - XFG2mo
3mo - XFG3mo.

The environment variable in one of the korn shell scripts needing one of the three values depending on the backup requirements:
NB_ORA_SCHED.

I'm wanting to read/source/bring in the value of one the 3 files.
As in
whatever it takes to get 1mo value into a variable in the shell and then:
export NB_ORA_SCHED=<shell variable>

I have 17 Oracle instances on a very large server,
each instance with it's own backup script.

9 uses the value in 3mo, 6 uses the value in 2mo, and 2 uses the value in 1mo as the value for the environment variable NB_ORA_SCHED.

Over the past few years - as the process changes - these values have changed. SO rather than manually editing 17 scripts to change the value, I'm wanting to edit 1 of 3 files as needed.

Again, these scripts are parameterized to some degree within the script. However, they are written so that if my backup, my backup's backup, my backup's backup's backup, and I get hit with a bus, any DBA can be given access to the server and will be able to manually (if needed) submit the backup without having to know anything other than
1. log on to server
2. go to this place
3. manually submit this .ksh script.

The plan is to make it as simple as it should be but no simpler.

As a note. Above, when I mentioned the process, you need to understand the way its done here. We have any number of pointy headed managers who feel the need to do something managerish fairly frequently. One way to do that is to rename items. So what one month may be bk_onsite_1mo may become XFG1mo the next.

You must understand - the process is paramount. Resistance is futile, you will be assimilated.

Being able to put values that change into a file that get read into a ksh script is one way to cut down on the impact of such managerish actions.

The scripting guru was not assimilated, he managed to go somewhere else. Me, I get to learn more about Korn shell scripting now.

Thanks again.
WolfBrother
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

STTY Columns Setting Environment Variable?

I am wondering about the following: stty columns 140 I have found that a number of times I need to set my display columns to a high number (such as 140) but I have to do this every time I login to use putty/ssh. Can we set this with an environmental variable so that it is permanent? Also... (4 Replies)
Discussion started by: newbie2010
4 Replies

2. UNIX for Dummies Questions & Answers

Setting environment variable problem in Ubuntu?

I am trying to install timbl- memory based learner tools in ubuntu. it after unpacking the tar file it brings the following msg No package 'ticcutils' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you... (1 Reply)
Discussion started by: gbdaw
1 Replies

3. UNIX for Dummies Questions & Answers

setting a environment variable on linux

I want to set a enviroment variable VDC_DIR to a particular directory. I am doing it as export VDC_DIR=/abc it gets set but when i logout and do relogin than its not there. one way could be setting it in .profile file. but i have seen it on another box where it is not present in... (2 Replies)
Discussion started by: Jcpratap
2 Replies

4. Shell Programming and Scripting

problem with setting environment variable

shell script: #!/bin/csh set VAR=12345 echo $VAR will peacefully give the output 12345 at shell. I need to use C++ to do the same in some part of the code: string str = "12345"; retValue="set var1= "+str; system(retValue1.c_str()); system("echo $var1"); This doesn't create a system... (1 Reply)
Discussion started by: harshvardhan360
1 Replies

5. Shell Programming and Scripting

Dynamically setting of environment variable... Can it be done?

Hi all, I am fairly new to unix scripting and will like to know how to dynamically set the name of an environment variable to be used. We have a .env file where we defined the names and locations of data files, trigger files, directories .... etc Example of variables defined in .env... (4 Replies)
Discussion started by: Morelia
4 Replies

6. Shell Programming and Scripting

Setting environment variable using shell script

Hi All, I'm trying to write an menu driven program to automate some functions which involve loging to multiple hosts. The hosts can differ for every use, so I thought I would use an config file to get the hostnames. Now I need to set those values in the config file to environment variable to... (6 Replies)
Discussion started by: arun_maffy
6 Replies

7. Programming

Setting Environment variable..!

Hi, I already have one CPP program which invokes the C program.And the C program contains whole function definitions..!This is a working program..I have to enable the logs in both CPP as well as in the C program ..!So I am reading the enviornmental variable log path from the CPP and doing the... (2 Replies)
Discussion started by: Kattoor
2 Replies

8. UNIX for Dummies Questions & Answers

setting environment variable in awk

Dear all, I have a data sample... Dose: Summed ROI: Bladder ************************** Bin Dose Volume 001 0.700 100.000 002 0.715 99.998 168 3.142 0.368 169 3.157 0.338 170 3.171 0.292 Dose: Summed ROI:... (2 Replies)
Discussion started by: tintin72
2 Replies

9. Programming

Setting environment variable using JNI call

I have function declaration in Java and same function definition written in C programming language.. A JNI call from Java is made to a fuction...Function would set the environment variable { putenv(cEnvString1);} using C-built -in function ..and later return the encrypted string... putenv is... (6 Replies)
Discussion started by: shafi2all
6 Replies

10. Programming

Setting Environment Variable date

Hi to all... I'm currently running a C++ program in Unix environment and it is dependent to a Unix environment variable with a date value. ex: echo $DateToday 20060403 I want to change that date in my C++ program, changing the value date to 20061120 and revert back to original... (6 Replies)
Discussion started by: d3ck_tm
6 Replies
Login or Register to Ask a Question