Sponsored Content
Top Forums Shell Programming and Scripting incrementing the variable name along with the data? Post 302583122 by Stephan on Monday 19th of December 2011 03:21:13 PM
Old 12-19-2011
incrementing the variable name along with the data?

Hello folks.

I am trying to increment my variable names to match a counter that is to be used later on...

Basically, i have a for loop that lists directories (for example TEST_OS DVP_OS PROD_OS ) but this loop is not static, it may contain 3 directory once and the next run 5 directories.

I then, want to assign "selection1" to TEST_OS, "selection2" to DVP_OS and "selection3" to PRD_OS. Again, those are not static...

Here is the code i have for now, but the "combining" of variables is not working...Smilie (selection$counter=$i) What i want, is that the variable selection1=TEST_OS and so forth...

Code:
BKPSETS=`ls -altr /etc/workdir/ | grep $OS | awk '{print $9}'`
counter=1

for i in $BKPSETS
do
        echo $counter "-" $i
        selection$counter=$i
        echo $selection

        counter=`expr $counter + 1`
done

read CHOICE

if [[ $CHOICE -ge $COUNTER ]]
then
        echo "No such choice available.  Quitting!"
        exit 1
        else
        echo "You've selected option $CHOICE"
fi

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

how to read the data from an excel sheet and use those data as variable in the unix c

I have 3 columns in an excel sheet. c1 c2 c3 EIP_ACCOUNT SMALL_TS_01 select A.* from acc; All the above 3 col shoud be passed a variable in the unix code. 1.How to read an excel file 2.How to pass these data as variable to the unic script (1 Reply)
Discussion started by: Anne Grace
1 Replies

2. Linux

Incrementing the date stored in the variable

Hi all, I have a variable with date as 20080831 . Now I want to increment it as 20080901 and so on.Is there any command for this. Please help me. thanks rameez (1 Reply)
Discussion started by: rameezrajas
1 Replies

3. Shell Programming and Scripting

Incrementing a variable is not happening

Hi All, Iam trying to increment a variable Following is the code #!/usr/bin/ksh i=1; i='expr $i+1'; echo $i; Output: expr $i+1 not able to understand why its happening in that way i was expecting result as 2... if the above method is worng .. can you help how i can get... (3 Replies)
Discussion started by: kiranlalka
3 Replies

4. Homework & Coursework Questions

Incrementing Variable resets outside of while loop

1. The problem statement, all variables and given/known data: Variable is resetting to 0 after incrementing in while loop My bit of scripting displays the current users logged in the machine. Then it reads in a specific username and displays the processes for that user. The portion that I... (3 Replies)
Discussion started by: ratzlaff
3 Replies

5. Shell Programming and Scripting

Facing problem in incrementing the variable

When I did, echo $SHELL in cmd prompt of putty, its displaying /bin/sh And in my shell script., I hav started with., #!/bin/sh and i=1; while ; do . . . i=$; (9 Replies)
Discussion started by: av_vinay
9 Replies

6. UNIX for Dummies Questions & Answers

Incrementing Variable Names

Hi, I am using BASH. I have encountered a situation where the following is necessary (but I am not sure how to do it): #Define multiple arrays, whose names only differ by a number: ARRAY_1=(1 2 3) ARRAY_2=(4 5 6) ARRAY_3=(7 8 9) #Define ARRAY_AMOUNT, the number of arrays. In this case... (1 Reply)
Discussion started by: msb65
1 Replies

7. UNIX for Dummies Questions & Answers

Incrementing variable in for

Hi, want to increment a variable in a for loop like this: for (( c=$total-1; c>=0; c-- )) do if ; then maximo=$valores fi done But it gives the error: No such file or directory How can i do this only incrementing the c variable? Thanks (8 Replies)
Discussion started by: limadario
8 Replies

8. Shell Programming and Scripting

Converting variable space width data into CSV data in bash

Hi All, I was wondering how I can convert each line in an input file where fields are separated by variable width spaces into a CSV file. Below is the scenario what I am looking for. My Input data in inputfile.txt 19 15657 15685 Sr2dReader 107.88 105.51... (4 Replies)
Discussion started by: vharsha
4 Replies

9. Shell Programming and Scripting

Help with incrementing data in some field

Hi I have the below set of lines , i need to duplicate these lines 1000 times, also eevrytime when it is incremented , it should increment the one in Blue color. 130400030000010000200001 130400030000010000200002 140050030000010000200005A eg: 130400030000010000200001... (5 Replies)
Discussion started by: santhoshks
5 Replies

10. Shell Programming and Scripting

Passing specific and incrementing lines of text from file via variable

This is part of a larger script where I need to pass only 1 line of a file to the script, based on a variable and not a direct reference. As part of a for loop : # for((line=0;line<50;line++)); do # awk ‘NR==$line' PhraseList.txt; done ... (5 Replies)
Discussion started by: Seth
5 Replies
COUNTER(9)						   BSD Kernel Developer's Manual						COUNTER(9)

NAME
counter -- SMP-friendly kernel counter implementation SYNOPSIS
#include <sys/types.h> #include <sys/systm.h> #include <sys/counter.h> counter_u64_t counter_u64_alloc(int wait); void counter_u64_free(counter_u64_t c); void counter_u64_add(counter_u64_t c, int64_t v); void counter_enter(); void counter_exit(); void counter_u64_add_protected(counter_u64_t c, int64_t v); uint64_t counter_u64_fetch(counter_u64_t c); void counter_u64_zero(counter_u64_t c); #include <sys/sysctl.h> SYSCTL_COUNTER_U64(parent, nbr, name, access, ptr, descr); SYSCTL_ADD_COUNTER_U64(ctx, parent, nbr, name, access, ptr, descr); DESCRIPTION
counter is a generic facility to create counters that can be utilized for any purpose (such as collecting statistical data). A counter is guaranteed to be lossless when several kernel threads do simultaneous updates. However, counter does not block the calling thread, also no atomic(9) operations are used for the update, therefore the counters can be used in any non-interrupt context. Moreover, counter has special optimisations for SMP environments, making counter update faster than simple arithmetic on the global variable. Thus counter is considered suitable for accounting in the performance-critical code pathes. counter_u64_alloc(wait) Allocate a new 64-bit unsigned counter. The wait argument is the malloc(9) wait flag, should be either M_NOWAIT or M_WAITOK. If M_NOWAIT is specified the operation may fail. counter_u64_free(c) Free the previously allocated counter c. counter_u64_add(c, v) Add v to c. The KPI does not guarantee any protection from wraparound. counter_enter() Enter mode that would allow to safely update several counters via counter_u64_add_protected(). On some machines this expands to critical(9) section, while on other is a nop. See IMPLEMENTATION DETAILS. counter_exit() Exit mode for updating several counters. counter_u64_add_protected(c, v) Same as counter_u64_add(), but should be preceded by counter_enter(). counter_u64_fetch(c) Take a snapshot of counter c. The data obtained is not guaranteed to reflect the real cumulative value for any moment. counter_u64_zero(c) Clear the counter c and set it to zero. SYSCTL_COUNTER_U64(parent, nbr, name, access, ptr, descr) Declare a static sysctl oid that would represent a counter. The ptr argument should be a pointer to allocated counter_u64_t. A read of the oid returns value obtained through counter_u64_fetch(). Any write to the oid zeroes it. SYSCTL_ADD_COUNTER_U64(ctx, parent, nbr, name, access, ptr, descr) Create a sysctl oid that would represent a counter. The ptr argument should be a pointer to allocated counter_u64_t. A read of the oid returns value obtained through counter_u64_fetch(). Any write to the oid zeroes it. IMPLEMENTATION DETAILS
On all architectures counter is implemented using per-CPU data fields that are specially aligned in memory, to avoid inter-CPU bus traffic due to shared use of the variables between CPUs. These are allocated using UMA_ZONE_PCPU uma(9) zone. The update operation only touches the field that is private to current CPU. Fetch operation loops through all per-CPU fields and obtains a snapshot sum of all fields. On amd64 a counter update is implemented as a single instruction without lock semantics, operating on the private data for the current CPU, which is safe against preemption and interrupts. On i386 architecture, when machine supports the cmpxchg8 instruction, this instruction is used. The multi-instruction sequence provides the same guarantees as the amd64 single-instruction implementation. On some architectures updating a counter require a critical(9) section. SEE ALSO
atomic(9), critical(9), locking(9), malloc(9), sysctl(9), uma(9) HISTORY
The counter facility first appeared in FreeBSD 10.0. AUTHORS
The counter facility was written by Gleb Smirnoff and Konstantin Belousov. BSD
February 7, 2014 BSD
All times are GMT -4. The time now is 01:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy