09-14-2011
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 .envdata_file_123=sales.dat
data_file_456=expenses.dat
data_file_789=profits.dat
I need to create a script (.ksh) that is flexible enough to load different data files depending on the parameter received. Also, based on this parameter I will need to verify if the files exist and this is where I will need to utilized the variables defined in the .env file.
The load script will received the parameter “123” or “456” or “789” (param1)
A couple of scenarios I tried that didn't work are:if [[ ! -f $data_file_$param1 ]]; then .....
if [[ ! -f ${data_file_$param1} ]]; then .....
I hope I explained my issue adequately and that I've given enough information.
Thank you!
10 More Discussions You Might Find Interesting
1. Programming
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
2. Programming
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
3. UNIX for Dummies Questions & Answers
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
4. Programming
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
5. Shell Programming and Scripting
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... (8 Replies)
Discussion started by: WolfBrother
8 Replies
6. Shell Programming and Scripting
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
7. UNIX for Dummies Questions & Answers
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
8. UNIX for Dummies Questions & Answers
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
9. UNIX for Dummies Questions & Answers
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
10. Shell Programming and Scripting
Linux Redhat, BASH Shell.
I want to put this in my .bash_profile
I have log files that go to directory paths based in part on other variables such as went DB Name is set in memory. So if the DB Name changes the path to the log file changes. How do I create an environment variable I put into... (6 Replies)
Discussion started by: guessingo
6 Replies
env(1) General Commands Manual env(1)
NAME
env, printenv - Displays or sets the current environment, or displays the values of environment variables
SYNOPSIS
Current Syntax
env [-i] [name=value...] [command] [args...]
printenv [name]
Obsolescent Syntax
env [-] [name=value...] [command] [args...]
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
env: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
Invokes utility with exactly the environment specified by the arguments; the inherited environment is ignored completely. Changes are in
effect only while the specified command is running. Dash is equivalent to -i option.
OPERANDS
Changes in the form name=value are added to the current environment before the command is run. [Tru64 UNIX] Name of an environment vari-
able to be printed. Name of a command to be invoked with the modified environment. Arguments to be passed to command when it is executed.
DESCRIPTION
The env command lets you get and change your current environment, and then run the specified command with the changed environment. If the
-i option is used, the current environment is ignored and the command runs with only the changed environment. Changes are only in effect
while the specified command is running.
If command is not specified, env displays your current environment, one name=value pair per line.
[Tru64 UNIX] The printenv command displays the values of the variables in the environment. If name is specified, only its value is
printed. If name is not the name of a currently set environment variable, only a blank line is printed, no error is reported. If name is
not specified, printenv displays the current environment, one name=value per line.
EXIT STATUS
If command is invoked, the exit status of env is the exit status of command; otherwise, the env utility exits with one of the following
values: The env utility completed successfully. An error occurred in the env utility. The command specified by command was found but
could not be invoked. The command specified by command could not be found.
EXAMPLES
To add a shell variable to the environment for the duration of one command (sh only), enter: TZ=MST7MDT date env TZ=MST7MDT date
Each of these commands displays the current date and time in Mountain Standard Time. The two commands shown are equivalent. When
date is finished, the previous value of TZ takes effect again. To replace the environment with another one, enter: env -i
PATH=$PATH IDIR=/u/jim/include LIBDIR=/u/jim/lib make
This runs make in an environment that consists only of these definitions for PATH, IDIR, and LIBDIR. You must redefine PATH so that
the shell can find the make command.
When make is finished, the previous environment takes effect again. To find the current setting of the TERM environment variable,
enter: printenv TERM
The command returns the value for the TERM environment variable.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of env: Provides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari-
ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value,
overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for-
mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of
LC_MESSAGES.
SEE ALSO
Commands: csh(1), ksh(1), Bourne shell sh(1b), POSIX shell sh(1p)
Functions: exec(2)
Standards: standards(5)
env(1)