11-15-2010
BASH - Reference external variable name dynamically
Hi there,
I have included an external properties file into my BASH script via the 'source' command.
I am attempting to dynamically assign a variable in the BASH script, that references the variable name within the external properties file i.e.
#!/bin/bash
pth=${0%/*}
source $pth/common_refs.txt
source $pth/common_variables.txt
echo $env <----- variable from 'common_variables' which returns fine
returned value is 'prd_trs'
echo $prd_trs_ldaphost <---------- variable from 'common_refs' which returns fine
HOWEVER
echo $env"_ldaphost" <-------- this I expect to return the same value as $prd_trs_ldaphost from 'common_refs' file, but instead just echos:
'prd_trs_ldaphost'
Why is this happening and please can anyone suggest a work around?
Many thanks.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi !
I have the following situation -
##First variable
variableA=JOB_A
##bunch of other variable
JOB_A_RESTART=cleanupJobA
JOB_B_RESTART=cleanupJobB
JOB_C_RESTART=cleanupJobC
now i need a script which would -
1. take the first variable
2. create a new variable name... (2 Replies)
Discussion started by: hsahay
2 Replies
2. UNIX for Dummies Questions & Answers
Hi friends how can we read array elements dynamically in bash shell? (1 Reply)
Discussion started by: haisubbu
1 Replies
3. Shell Programming and Scripting
Hi all,
How can I use sed to perform a substitution if the string that I'm going to substitute is stored in a variable:
Let's say:
sed 's/abcdefg/good'
VS
tmp="abcdefg"
sed 's/$tmp/good'
The second case doesn't work. Guess it's due to the single quotes on the outside. How can I... (1 Reply)
Discussion started by: rockysfr
1 Replies
4. Shell Programming and Scripting
Hi!
I need to determin the most efficient way to do something (rather simple, I thought).
I'm currently echo(ing) a series of menu options, and reading the command input as the number associated with the entry. What I need to do is when the option 1 is selected, that it references a list and... (18 Replies)
Discussion started by: cchaloux
18 Replies
5. Shell Programming and Scripting
I can't seem to make what appears to be a simple substitution.
I want to define a list of systems for which daily reports need to be filed
systems="systemA systemC systemZ"
I then want to run a loop
for i in ${systems}
Analyze statistics
Create the reports
mailx (8 Replies)
Discussion started by: mugsymark
8 Replies
6. Shell Programming and Scripting
Hello,
This is not homework. It is a question that I received on a recent interview for a linux position. Can someone shed some light on the right answer? I got it wrong.
Thanks,
jaysunn (3 Replies)
Discussion started by: jaysunn
3 Replies
7. Shell Programming and Scripting
Hi,
I need to generate the text name dynamically in for loop,
ex,
VAR_COPY_FILE1= file path 1
VAR_COPY_FILE2= file path 2
VAR_COPY_FILE3= file path 3
for i in 1 2 3
do
if
then
"do some process here"
fi
done (3 Replies)
Discussion started by: msubash26
3 Replies
8. Shell Programming and Scripting
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
9. Shell Programming and Scripting
Guys,
May i know how can we de reference the code reference variable.?
my $a = sub{$a=shift;$b=shift;print "SUM:",($a+$b),"\n";};
print $a->(4,5);
How can we print the whole function ?
Please suggest me regarding this.
Thanks for your time :)
Cheers,
Ranga :) (0 Replies)
Discussion started by: rangarasan
0 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
LEARN ABOUT REDHAT
checkbashisms
CHECKBASHISMS(1) General Commands Manual CHECKBASHISMS(1)
NAME
checkbashisms - check for bashisms in /bin/sh scripts
SYNOPSIS
checkbashisms script ...
checkbashisms --help|--version
DESCRIPTION
checkbashisms, based on one of the checks from the lintian system, performs basic checks on /bin/sh shell scripts for the possible presence
of bashisms. It takes the names of the shell scripts on the command line, and outputs warnings if possible bashisms are detected.
Note that the definition of a bashism in this context roughly equates to "a shell feature that is not required to be supported by POSIX";
this means that some issues flagged may be permitted under optional sections of POSIX, such as XSI or User Portability.
In cases where POSIX and Debian Policy disagree, checkbashisms by default allows extensions permitted by Policy but may also provide
options for stricter checking.
OPTIONS
--help, -h
Show a summary of options.
--newline, -n
Check for "echo -n" usage (non POSIX but required by Debian Policy 10.4.)
--posix, -p
Check for issues which are non POSIX but required to be supported by Debian Policy 10.4 (implies -n).
--force, -f
Force each script to be checked, even if it would normally not be (for instance, it has a bash or non POSIX shell shebang or appears
to be a shell wrapper).
--extra, -x
Highlight lines which, whilst they do not contain bashisms, may be useful in determining whether a particular issue is a false posi-
tive which may be ignored. For example, the use of "$BASH_ENV" may be preceded by checking whether "$BASH" is set.
--version, -v
Show version and copyright information.
EXIT VALUES
The exit value will be 0 if no possible bashisms or other problems were detected. Otherwise it will be the sum of the following error val-
ues:
1 A possible bashism was detected.
2 A file was skipped for some reason, for example, because it was unreadable or not found. The warning message will give details.
SEE ALSO
lintian(1).
AUTHOR
checkbashisms was originally written as a shell script by Yann Dirson <dirson@debian.org> and rewritten in Perl with many more features by
Julian Gilbey <jdg@debian.org>.
DEBIAN
Debian Utilities CHECKBASHISMS(1)