Sponsored Content
Top Forums Shell Programming and Scripting Dynamically setting of environment variable... Can it be done? Post 302555437 by Morelia on Wednesday 14th of September 2011 06:01:16 PM
Old 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 .env
data_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

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

2. 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

3. 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

4. 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

5. Shell Programming and Scripting

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... (8 Replies)
Discussion started by: WolfBrother
8 Replies

6. 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

7. 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

8. 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

9. 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

10. Shell Programming and Scripting

Dynamically changing environment variable

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)
All times are GMT -4. The time now is 09:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy