Sponsored Content
Top Forums Shell Programming and Scripting Refering to compound variables with a variable name Post 302740027 by gary_w on Wednesday 5th of December 2012 10:41:28 AM
Old 12-05-2012
I believe you are trying to do something like this. Note you need Korn shell 93::
Code:
$ cat x
#!/usr/dt/bin/dtksh

## Define Compound variables.
cmp_var1=( code=10 desc="hello" )
cmp_var2=( code=20 desc="world" )

## Create array of compound variables.
set -A cmp_varnames cmp_var1 cmp_var2

## Print the descriptions.
for cmp in ${cmp_varnames[*]}
do
  # Use a name reference instead of eval.
  typeset -n mydesc="$cmp.desc"
  print $mydesc
done

exit 0
$ ./x
hello
world
$

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

compound expression in unix

I am using the code below to write a command to launch a script only if the number of users on the system is less than 10. The code below isn't working. Any suggestions? HELP.. if && ; then frizzle ; fi (3 Replies)
Discussion started by: spalmer
3 Replies

2. Shell Programming and Scripting

Trying to use 'compound variable' in a script

Hi there - am newish to shell scripting and would appreciate some advice on this... Am trying to use what I have seen called 'compound variables' in other langs but with no success in my shell script. This is the kind of thing I'm trying to do: base_val=123 stop=3 x=1 while do ... (3 Replies)
Discussion started by: neemic
3 Replies

3. Shell Programming and Scripting

Trying to use 'compound variable' in a script

Erase the space in assigment operator. array_var=`expr $base_val + $x` (1 Reply)
Discussion started by: irina
1 Replies

4. UNIX for Advanced & Expert Users

Compound indirect variable references

Using bash, I'm trying to read a .properties file (name=value pairs), assigning an indirect variable reference for each line in the file. The trick is that a property's value string may contain the name of a property that occurred earlier in the file, and I want the name of the 1st property to... (5 Replies)
Discussion started by: tkrussel
5 Replies

5. Shell Programming and Scripting

Compound command with 'find' utility?

I'm trying to write a script using the 'find' command and it's -exec option to run a compound command against the files found. Example: find . -name "*.conf" -exec cat {} | grep "#" > /tmp/comments.list \; Of course the above doesn't work. So I experimented for a bit to see if there was... (6 Replies)
Discussion started by: deckard
6 Replies

6. Shell Programming and Scripting

awk compound statements

how can i use two or multiple statements in the if part of an awk code for example i want to check two flag if they are true i will write some print operations and increase the counter. here is the c version of the code that i want to write: counter=0; if (flag1==1 && flag2==0) {... (7 Replies)
Discussion started by: gfhgfnhhn
7 Replies

7. Shell Programming and Scripting

compound variable in korn shell

in a text " Korn Shell Unix programming Manual 3° Edition" i have found this sintax to declare a compoud variable: variable=( fild1 (0 Replies)
Discussion started by: ZINGARO
0 Replies

8. Shell Programming and Scripting

compound variable in korn shell

in a text " Korn Shell Unix programming Manual 3° Edition" i have found this sintax to declare a compoud variable: variable=( fild1 fild1 ) but this sintax in ksh and sh (HP-UNIX) not work... why?? exist another solution for this type of variable ??? (5 Replies)
Discussion started by: ZINGARO
5 Replies

9. Shell Programming and Scripting

compound Bash if then statement question

I am writing a Bash script that will either clone a database or setup a standby database. So Parameter 2 will be the operation type. If the value is not clone or standby I want to throw an error message. I suppose I can also do a case block. So far i have been unable to get the syntax working... (1 Reply)
Discussion started by: gandolf989
1 Replies

10. Programming

tcl compound condition

Can anyone explain for me why this does not work in tcl: if !{( $a > "" || $b > "" )} { ....... where a and b are string vars. and this works instead: if {!( $a > "" || $b > "" )} { ........ Thanks. (6 Replies)
Discussion started by: gio001
6 Replies
Dpkg::Substvars(3)						   libdpkg-perl 						Dpkg::Substvars(3)

NAME
Dpkg::Substvars - handle variable substitution in strings DESCRIPTION
It provides some an object which is able to substitute variables in strings. METHODS
my $s = Dpkg::Substvars->new($file) Create a new object that can do substitutions. By default it contains generic substitutions like ${Newline}, ${Space}, ${Tab}, ${dpkg:Version} and ${dpkg:Upstream-Version}. Additional substitutions will be read from the $file passed as parameter. It keeps track of which substitutions were actually used (only counting substvars(), not get()), and warns about unused substvars when asked to. The substitutions that are always present are not included in these warnings. $s->set($key, $value) Add/replace a substitution. $s->get($key) Get the value of a given substitution. $s->delete($key) Remove a given substitution. $s->no_warn($key) Prevents warnings about a unused substitution, for example if it is provided by default. $s->load($file) Add new substitutions read from $file. $s->parse($fh, $desc) Add new substitutions read from the filehandle. $desc is used to identify the filehandle in error messages. $s->set_version_substvars($version) Defines ${binary:Version}, ${source:Version} and ${source:Upstream-Version} based on the given version string. These will never be warned about when unused. $s->set_arch_substvars() Defines architecture variables: ${Arch}. This will never be warned about when unused. $newstring = $s->substvars($string) Substitutes variables in $string and return the result in $newstring. $s->warn_about_unused() Issues warning about any variables that were set, but not used $s->set_msg_prefix($prefix) Define a prefix displayed before all warnings/error messages output by the module. $s->save($file) Store all substitutions variables except the automatic ones in the indicated file. "$s" Return a string representation of all substitutions variables except the automatic ones. $str = $s->output($fh) Print all substitutions variables except the automatic ones in the filehandle and return the content written. AUTHOR
Raphael Hertzog <hertzog@debian.org>. 1.16.0.3 2012-04-17 Dpkg::Substvars(3)
All times are GMT -4. The time now is 05:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy