Sponsored Content
Top Forums Shell Programming and Scripting Dynamic Variable Based on Count Post 302280688 by earnstaf on Tuesday 27th of January 2009 11:45:03 AM
Old 01-27-2009
Dynamic Variable Based on Count

I'm trying to assign variables that include the current value of a count, but I can't seem to get it working... this script is incomplete, but some guidance on how to use a dynamic variable would be helpful:

Sample Input:
Code:
bash-2.03$ more sg2.txt
Results for group6
443
1394

Results for group7
15191-15199
15240
15130-15133
15257
15231
15147-15159

Results for group8
15255
15257

Results for group9
104-104 (udp)
104

Results for group10
2380-2381
2370-2371

Like I said, this is incomplete and there may be more efficient ways of doing this, but I need help with the denoted portion:
Code:
#!/bin/bash
COUNT=1
ENHANCE=0
while read line
do

case "$line" in

Results*) NAME=`echo "$line" | cut -d " " -f 3` ;;
[0-9]*udp*) PORTa=`echo "$line" | cut -d "-" -f 1`; PORTb=`echo "$line" | cut -d "-" -f 2 | cut -d " " -f 1`
            if [ $PORTa = $PORTb ]; then
            PORT$COUNT="service-object udp $PORTa"
            else
            PORT$COUNT="service-object udp range $PORTa $PORTb"
            fi
            COUNT=`expr $COUNT + 1`
            ENHANCE=1 ;;
ping) PORT$COUNT="echo "service-object icmp""
      COUNT=`expr $COUNT + 1`
      ENHANCE=1 ;;
[0-9]*) case "$line" in
         [0-9]*-[0-9]*) PORTa=`echo "$line" | cut -d "-" -f 1`; PORTb=`echo "$line" | cut -d "-" -f 2 | cut -d " " -f 1` ;
                       PORT$COUNT="service-object tcp range $PORTa $PORTb" ;
                       COUNT=`expr $COUNT + 1` ;;
         [0-9]*) "echo "service-object tcp $line""
                COUNT=`expr $COUNT + 1` ;;
        esac;;
*) if [ $ENHANCE -eq 0 ]; then
     echo "object-group service $NAME tcp"
     PORTCOUNT=1
     while [ $PORTCOUNT -lt $COUNT ]
     do
     echo "$(PORT$PORTCOUNT)"
     PORTCOUNT=`expr $PORTCOUNT + 1`
    done
        else
     PORTCOUNT=1
     while [ $PORTCOUNT -lt $COUNT ]; do
     echo "$PORT$PORTCOUNT"
     PORTCOUNT=`expr $PORTCOUNT + 1`
     done
   fi
esac
done < sg2.txt

 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Dynamic naming based on file content

I was just thinking if there is a way where i can dynamically rename files based on the actual file content. I have a load of pdf's which have been named wrongly. (We normally put date first, then brief description, then title) So can a script be written wherin, it pulls out the date and title... (2 Replies)
Discussion started by: deaddevil
2 Replies

2. Shell Programming and Scripting

Dynamic SQL query based on shell script parameters

Hi, I need a script that will run a dynamic Oracle SQL. Dynamic meaning the SQL statement depends on the parameter. For instance, something like this: #!/bin/ksh -x # Set environment . /home/mine/set_vars sqlplus $LOGINID <<! >> /home/mine/log.txt select count(1) from $1 where... (2 Replies)
Discussion started by: laiko
2 Replies

3. UNIX for Dummies Questions & Answers

How to set a variable with a count variable i.e. VARIABLE$COUNT

Hi All I've very nearly finished this script I'm working on but have hit another idiots problem, after googling I can't see a solution for this one. I have a while count loop that checks checks two consecutive values then increments the count by two. What the script has to do is then check... (5 Replies)
Discussion started by: Bashingaway
5 Replies

4. Shell Programming and Scripting

Help Dynamic looping based on files

Hi I have to run the script (a part of the code) in a loop for the no of times the files present in the directory, by taking one file and process and next another file. For example, if we do ls and the result have: $ls abc.dat def.dat ghi.dat The script code should loop for 3... (4 Replies)
Discussion started by: karumudi7
4 Replies

5. Red Hat

Dynamic case creation based on output list from a command

I am attempting to create a script that would allow me to list all the instances associated with a DB2 and then prompt the user to choose which one to issue the db2profile command against. I use the db2 command db2ilist to get a list of the instances for a particular server, but the number of... (1 Reply)
Discussion started by: slatoms
1 Replies

6. Shell Programming and Scripting

Dynamic case creation based on output list from a command

I am attempting to create a script that would allow me to list all the instances associated with a DB2 and then prompt the user to choose which one to issue the db2profile command against. I use the db2 command db2ilist to get a list of the instances for a particular server, but the number of... (7 Replies)
Discussion started by: slatoms
7 Replies

7. Shell Programming and Scripting

Passing dynamic variable within another variable.

I have a small program which needs to pass variable dynamically to form the name of a second variable whose value wil be passed on to a third variable. ***************** Program Start ****************** LOC1=/loc1 PAT1IN=/loc2 PAT2IN=/loc3 if ; then for fpattern in `cat... (5 Replies)
Discussion started by: Cyril Jos
5 Replies

8. UNIX for Dummies Questions & Answers

Count dynamic words in file

Hello, i want built a log analyzer for nginx. Okay and i use it as training for the shell tools. The most what i want i could relize. But i has trouble with dynamic things. I have the IP address extracted and has set the geo localtion for the ip. I would like to count the countries. With... (3 Replies)
Discussion started by: sisihagen
3 Replies
fence_kdump_send(8)					      System Manager's Manual					       fence_kdump_send(8)

NAME
fence_kdump_send - send kdump acknowlegement message to cluster nodes SYNOPSIS
fence_kdump_send [OPTIONS]... [NODE]... DESCRIPTION
fence_kdump_send is a utility used to send messages that acknowledge that the node has entered the kdump crash recovery service. This util- ity is intended to be used the the fence_kdump agent as a means detect that a failed node has entered the kdump crash recovery service. The fence_kdump_send utility is typically run from within the kdump kernel after a cluster node has encountered a kernel panic. Once the cluster node has entered the kdump crash recovery service, fence_kdump_send will periodically send messages to all cluster nodes. When the fence_kdump agent receives a valid message from the failed node, fencing is complete. OPTIONS
-p, --ipport=PORT IP port number that the fence_kdump agent is using to listen for messages. (default: 7410) -f, --family=FAMILY IP network family. Force the fence_kdump_send utility to use a particular network family. Value for FAMILY can be "auto", "ipv4", or "ipv6". (default: auto) -c, --count=COUNT Number of messages to send. If COUNT is zero, fence_kdump_send will send messages indefinitely. (default: 0) -i, --interval=INTERVAL Time to wait between sending a message. The value for INTERVAL must be greater than zero. (default: 10) -v, --verbose Print verbose output. -V, --version Print version and exit. -h, --help Print usage and exit. AUTHOR
Ryan O'Hara <rohara@redhat.com> SEE ALSO
fence_kdump(8), mkdumprd(8), kdump.conf(5) fence_kdump_send(8)
All times are GMT -4. The time now is 09:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy