Sponsored Content
Top Forums Shell Programming and Scripting Evaluate string containing shell variable names Post 302483104 by endorphin on Thursday 23rd of December 2010 06:04:55 PM
Old 12-23-2010
Evaluate string containing shell variable names

Hello,

I have this:

Code:
#!/usr/bin/ksh
V1=ABC
str="hello 123;${V1}"

eval "echo $str"

i get

Code:
hello 123
/script.sh ABC not found

However eval works if $str variable doesn't contain a semicolumn (eg if str="hello 123~${v1}"

running the eval statement above would produce

hello 123~ABC


How would I use eval (any other method is fine) to evaluate a string variable whose assigned value contains names of other string variables?



Thnx.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to get variable to re-evaluate itself?

Probably a simple one. Basically I am retrieving a number from a file - setting a variable against it and then incrementing this by 1 and using this as an entry number in a log file for messages. I need the variable to re-evalute itself each time I call it so I get the latest number in the file -... (1 Reply)
Discussion started by: frustrated1
1 Replies

2. Shell Programming and Scripting

Evaluate the value of a variable?

I have variables: FOO="Text" BAR="FOO" I'd like to be able to evaluate the variable named as the value of $BAR. echo $FOO Text echo $BAR FOO This is what I'd like to do: echo ${$BAR} (this won't work) Text (3 Replies)
Discussion started by: Ilja
3 Replies

3. Shell Programming and Scripting

How to evaluate the value of a variable ?

How to evaluate the value of a variable ? For example: a=var $a=value !!!error happens!!! I want to evaluate var=value, how to realize it? Thanks! ---------- Post updated at 03:37 AM ---------- Previous update was at 02:22 AM ---------- I am using linux bash. a=var $a=value... (4 Replies)
Discussion started by: 915086731
4 Replies

4. Shell Programming and Scripting

How to evaluate a string of numbers in the same command of AWK

Hi, I am trying to do evaluate one numerical string after substitution. ++++++++++++++++== What I have = "7.04+2.3Xlog(0.72e-6X1.0e6)X1.9596" What I need = evaluate 7.04+2.3*log(0.72e-6*1.0e6)*1.9596 = 5.55941 what I am doing; echo "7.04+2.3Xlog(0.72e-6X1.0e6)X1.9596" | awk... (2 Replies)
Discussion started by: vivek_shm74
2 Replies

5. Shell Programming and Scripting

Shell script variable names created dynamically

Hi, I'm trying to use a config file to define frequencies for checking log files. If the config file contains a frequency it will be used else a default value. The format of the config file (and hence the environment variable) is FREQ_log_logname=value A test shell script as below:... (2 Replies)
Discussion started by: u671296
2 Replies

6. Shell Programming and Scripting

awk if statement to evaluate string and compare

I have the following simplified code that I am planning on putting into a larger shell script. I have been butchering it to try and make work amongst google searches and reading awk documentation. amixer sset Master toggle | awk '{ if ( /^ Front Left/ { print $7 } == // ) print "MUTED" }'I... (2 Replies)
Discussion started by: jelloir
2 Replies

7. Shell Programming and Scripting

[SHELL: /bin/sh] For loop using variable variable names

Simple enough problem I think, I just can't seem to get it right. The below doesn't work as intended, it's just a function defined in a much larger script: CheckValues() { for field in \ Group_ID \ Group_Title \ Rule_ID \ Rule_Severity \ ... (2 Replies)
Discussion started by: Vryali
2 Replies

8. Shell Programming and Scripting

Korn Shell help - Using parameter to create variable names

I'm using korn shell and I am wondering if it's possible to use a parameter passed into a function to build a variable name in a configuration file. I have the function in one source file, I'd like to have a global configuration file instead of hardcoding logins to each script. So I have a... (7 Replies)
Discussion started by: mrevello
7 Replies

9. Shell Programming and Scripting

Evaluate Variable At Runtime

Hi, I am trying to set a variable that has time the format desired. And my intention is to echo variable (instead of actual date command) everytime I like to echo date. Please take a look at below code. $NOW='' echo $NOW After 5 minutes $echo $NOW Issue here is , I am not... (2 Replies)
Discussion started by: vinay4889
2 Replies

10. Shell Programming and Scripting

How to evaluate a variable name on LHS of expression?

I am trying to write a simple function to select values from a database and assign them to variables. It can have any number of arguments sent into it, and I want to assign the value retrieved to a different variable name for each argument sent in. So my code looks something like this: ... (6 Replies)
Discussion started by: DJR
6 Replies
TGET(1) 						      General Commands Manual							   TGET(1)

NAME
tget - get termcap values SYNOPSIS
tget [-flag id] [-num id] [-str id] [-goto col line] [[-echo] string] DESCRIPTION
Tget allows shell scripts access to the termcap(3) functions. Flags, numbers and strings can be queried from the termcap database under the entry denoted by the environment variable $TERM. OPTIONS
-flag id Set the exit status to zero if the flag id is set. All other options except -echo set the exit status to id being available or not. The last option sets the final exit code. -num id Print the value of the numeric variable id. -str id Print the value of the string variable id. -goto col line Generates instructions to go to the given column and line if the cm capability exists. -echo string Prints string. Any other argument that does not start with a dash is also printed. EXAMPLE
Try this: tget -str so 'Reverse Video' -str se ENVIRONMENT
TERM Terminal type. TERMCAP Path to the termcap database, by default /etc/termcap:/usr/etc/termcap. SEE ALSO
termcap(3). DIAGNOSTICS
Tget will fail immediately with a descriptive message if the termcap entry can't be found. AUTHOR
Kees J. Bot (kjb@cs.vu.nl) TGET(1)
All times are GMT -4. The time now is 02:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy