09-02-2008
dynamic variables
I am new to unix and the following problem is bugging me.
var1="hello1"
var2="hello2"
var3="hello3"
counter=1
while [ $counter -le 3]
do
echo $var$counter
done
the idea here is to display the value of "var" based on the counter.
I am using the korn shell. I used array here but the problem is that I am executing the script from another script and so the prompt comes as "-A bad option"
Can the above problem be done in another way i.e without using arrays.
Can eval be useful here? please help.
code snippet for this would be very helpful
TIA
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi Gurus,
I have a requirement of writting the shell script where it should ask me two values
FND_TOP=/d02/app/oracle/xxx/fnd/11.5.0
CDCRM_TOP=/d02/app/oracle/xxx/cdcrm/11.5.0
and then keep these values stored as variables for the execution of rest of the script.
Because, I have to... (2 Replies)
Discussion started by: isingh786
2 Replies
2. Programming
Hi,
is it possible in C to allocate dynamically a global variable?? (3 Replies)
Discussion started by: littleboyblu
3 Replies
3. Shell Programming and Scripting
Hi All,
Shell is ksh
I've given portion of the script here to explain the problem.
It will accept 2 input parameters .
in_file1=$1
in_file2=$2
outbound_dir=/home/outbound
for i in 1 2
do
eval file$i=$outbound_dir/\$in_file$i
eval echo "filename is \$file$i"
... (4 Replies)
Discussion started by: kk17
4 Replies
4. Shell Programming and Scripting
Hi,
I need some direction with the following. The below code is semi-psuedo code which will hopefully make it easier to understand what I am trying to achieve:
for i in `echo ${testarray
}`
do
let c=c+1
eval "first$c=$i"
while... (4 Replies)
Discussion started by: yonderboy
4 Replies
5. Shell Programming and Scripting
Code:
$ cat test.bash
#!/bin/bash
job=$1
steps=$2
num=$(echo "$@" | wc -w)
Example Submission:
$ ./test.bash BS01 3 1 2 3
What: (2 Replies)
Discussion started by: mkastin
2 Replies
6. Shell Programming and Scripting
Hello,
so i'm making a script, using dynamic variables and trying to expand them. So far it hasn't worked out too well so it seems that I need some help from you, the elite.
Example:
#!/bin/sh
counter=0
until (($counter>5))
counter2=1
until (($counter2>6)); do
if ;... (5 Replies)
Discussion started by: TehOne
5 Replies
7. Shell Programming and Scripting
Greetings all,
Been trying to do my Googling and forum searches but can't seem to lock in on a solution.
I have a script that parses a log and collects all the uniq events to a flat file. Some days might have 50 unique events, other days might have 75. (Hence my reference to dynamic.)
... (2 Replies)
Discussion started by: sjrupp
2 Replies
8. Shell Programming and Scripting
Hi All,
I am really struggling to solve this problem, this might be small but I am not able to, can somebody help me?
I have few directories and these directories receives text files in large amount with in fraction of seconds. So I just want to send all the files in current directory to... (2 Replies)
Discussion started by: VasuKukkapalli
2 Replies
9. Shell Programming and Scripting
Hi all,
I want to dynamically set variables in a bash script. I made a naive attempt in a while loop that hopefully can clarify the idea.
n=0; echo "$lst" | while read p; do n=$(($n+1)); p"$n"="$p"; done
The error message is:
bash: p1=line1: command not found
bash: p2=line2: command... (8 Replies)
Discussion started by: jeppe83
8 Replies
10. Shell Programming and Scripting
Hi ,
i am unable to generate dynamic variables can any one please help me on the below issue
j=1
{record_count_"$j"}=`db2 -xselect substr\(job_name,24\) rec_count from $libname.audit_table_nrt where job_name like \'DATAMART_DEL_RUN%\' and STS_FLAG=\'E\' and seq_no=$i`
echo " record... (3 Replies)
Discussion started by: bhaskar v
3 Replies
LEARN ABOUT DEBIAN
vend::counterfile
Vend::CounterFile(3pm) User Contributed Perl Documentation Vend::CounterFile(3pm)
NAME
Vend::CounterFile - Persistent counter class
SYNOPSIS
use Vend::CounterFile;
$c = new Vend::CounterFile "COUNTER", "aa00";
$id = $c->inc;
open(F, ">F$id");
DESCRIPTION
(This module is modified from Gisle Aas File::CounterFile to use
Interchange's locking protocols -- lack of fcntl locking was causing
counter problems.)
This module implements a persistent counter class. Each counter is represented by a separate file in the file system. File locking is
applied, so multiple processes might try to access the same counters at the same time without risk of counter destruction.
You give the file name as the first parameter to the object constructor ("new"). The file is created if it does not exist.
If the file name does not start with "/" or ".", then it is interpreted as a file relative to $Vend::CounterFile::DEFAULT_DIR. The default
value for this variable is initialized from the environment variable "TMPDIR", or /usr/tmp is no environment variable is defined. You may
want to assign a different value to this variable before creating counters.
If you pass a second parameter to the constructor, that sets the initial value for a new counter. This parameter only takes effect when
the file is created (i.e. it does not exist before the call).
When you call the "inc()" method, you increment the counter value by one. When you call "dec()" the counter value is decrementd. In both
cases the new value is returned. The "dec()" method only works for numerical counters (digits only).
You can peek at the value of the counter (without incrementing it) by using the "value()" method.
The counter can be locked and unlocked with the "lock()" and "unlock()" methods. Incrementing and value retrieval is faster when the
counter is locked, because we do not have to update the counter file all the time. You can query whether the counter is locked with the
"locked()" method.
There is also an operator overloading interface to the Vend::CounterFile object. This means that you might use the "++" operator for
incrementing the counter, "--" operator for decrementing and you can interpolate counters diretly into strings.
BUGS
(This problem alleviated by this modified module)
It uses flock(2) to lock the counter file. This does not work on all systems. Perhaps we should use the File::Lock module?
COPYRIGHT
Copyright (c) 1995-1998 Gisle Aas. All rights reserved. Modifications made by and copyright (C) 2002 Red Hat, Inc. and (c) 2002-2007
Interchange Development Group
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Gisle Aas <aas@sn.no>
perl v5.14.2 2010-03-25 Vend::CounterFile(3pm)