Sponsored Content
Top Forums Shell Programming and Scripting Array output through a for loop problematic with multiple elements. Post 302560809 by alister on Saturday 1st of October 2011 10:43:35 AM
Old 10-01-2011
Quote:
Originally Posted by Azrael
That works perfect until I try to output it from my array. (Which I dearly need).

Code:
#!/bin/bash

if [ 5.21 = $(nmap --version | awk '/Nmap/ { print $3 }') ]; then
    i=5  t=report    # field index and target text
else
    i=2  t=Host
fi

/sbin/ifconfig | awk '/inet addr/ && !/127.0.0.1/ && !a[$2]++ {print substr($2,6)}' |
    while read ip; do
          first+=( "$(nmap -sP ${ip%.*}.0/24 | awk 'index($0,t) { print $i }' t="$t" i="$i" )" )
          sleep 1
    done

echo "${first[@]}"

The above outputs absolutely nothing. Don't bother running it.
That's happening because bash runs the highlighted while-loop portion of the pipeline in a subshell. Any modification to $first, in that subshell, is not visible in the parent shell (where the echo happens).

Perhaps the third time is indeed the charm? Smilie:
Code:
#!/bin/bash

if [ 5.21 = $(nmap --version | awk '/Nmap/ { print $3 }') ]; then
    i=5  t=report    # field index and target text
else
    i=2  t=Host
fi

for ip in $(/sbin/ifconfig | awk '/inet addr/ && !/127.0.0.1/ && !a[$2]++ {print substr($2,6)}')
do
          first+=( "$(nmap -sP ${ip%.*}.0/24 | awk 'index($0,t) { print $i }' t="$t" i="$i" )" )
          sleep 1
done

echo "${first[@]}"

Regards,
Alister

Last edited by alister; 10-01-2011 at 12:06 PM..
This User Gave Thanks to alister For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Accessing array elements

Hi, My doubt is how to access array elements.. Situation is as below: #!/bin/ksh set -x typeset -i x=0 typeset -i y=0 typeset -i BID=0 typeset -i count=0 while ] ; do x=`expr $x + 1`; hwmgr show scsi > scsi.tmp while read line; do set... (1 Reply)
Discussion started by: mansa
1 Replies

2. Shell Programming and Scripting

awk output error while loop through array

Have built this script, the output is what I needed, but NR 6 is omitted. Why? Is it an error? I am using Gawk. '{nr=$2;f = $1} END{for (i=1;i<=f;i++) if (nr != i) print i, nr }' input1.csv >output1.csvinput1.csv 1 9 3 5 4 1 7 6 8 5 10 6 output1.csv > with the missing line number 6. 6 is... (5 Replies)
Discussion started by: sdf
5 Replies

3. Shell Programming and Scripting

Removing elements from an array

Hi I have two arrays : @arcb= (450,625,720,645); @arca=(625,645); I need to remove the elements of @arca from elements of @arcb so that the content of @arcb will be (450,720). Can anyone sugget me how to perform this operation? The code I have used is this : my @arcb=... (3 Replies)
Discussion started by: rkrish
3 Replies

4. Shell Programming and Scripting

Grouping array elements - possible?

I have a script which takes backup of some configuration files on my server. It does that by using an array which contains the complete path to the files to backup. It copys the files to a pre defined dir. Each "program" has it's own folder, ex. apache.conf is being copied to /predefined... (7 Replies)
Discussion started by: dnn
7 Replies

5. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

6. Shell Programming and Scripting

Multiplication of array elements

Hi, I can't find out how to create correct code to get multiplication of each elements of array. Let's say I enter array into command line (2 3 4 5 6 8) and i need output 2*3*4*5*6*8=5760. I tried this one, but answer is 0. for i in $@; do mult=$((mult*i))done echo "mult: " $mult ... (4 Replies)
Discussion started by: rimasbimas
4 Replies

7. Programming

Array Elements Check

Hi everyone, :) I'm trying to make a simple C program that scans an array of chars to see if its elements are similar. I can't understand what's wrong. Could you help me to fix this? Here is the code. Thanks! #include<stdio.h> int main() { int arr; int i, len; int flag =... (10 Replies)
Discussion started by: IgorGest
10 Replies

8. Shell Programming and Scripting

Output Multiple Files in the For Loop

while IFS= read -r line do # sV for version detection nmap -T4 -Pn -v -sS "$line" > "text/$line" done < <(grep '' $file) Hi, where line represents the IP. I am using NMAP to do scanning. How can I set to execute that command in the loop several concurrently at a time instead of one... (5 Replies)
Discussion started by: alvinoo
5 Replies

9. Shell Programming and Scripting

Help reading the array and sum of the array elements

Hi All, need help with reading the array and sum of the array elements. given an array of integers of size N . You need to print the sum of the elements in the array, keeping in mind that some of those integers may be quite large. Input Format The first line of the input consists of an... (1 Reply)
Discussion started by: nishantrefound
1 Replies

10. Shell Programming and Scripting

Get unique elements from Array

I have an array code and output is below: echo $1 while read -r fline; do echo "%%%%%%$fline%%%%%" fmy_array+=("$fline") done <<< "$1" Output: CR30903 YU0007 SRIL CR30903 Yogesh SRIL %%%%%%CR30903 YU0007 SRIL%%%%% %%%%%%CR30903 Yogesh SRIL%%%%% ... (8 Replies)
Discussion started by: mohtashims
8 Replies
NMAPFE(1)						      General Commands Manual							 NMAPFE(1)

NAME
nmapfe (xnmap) - GTK+ graphical frontend to the Nmap Security Scanner SYNOPSIS
nmapfe [ any Glib options such as --display ] DESCRIPTION
Nmapfe (also known as xnmap) is a convenient X Window front end for the Nmap Security Scanner. Most of the options correspond directly to Nmap options, which are described in detail in the Nmap man page. We recommend you read that first. There is also limited help available via the NmapFE "Help" menu. AUTHOR
NmapFE was originally written by Zach Smith <key@aye.net> It is now maintained by Fyodor <fyodor@insecure.org> Feel free to write me ( fyodor@insecure.org ) with questions or bug reports. DISTRIBUTION
The newest version of nmapfe can be obtained from http://www.insecure.org/nmap/ nmapfe is (C) 1999, 2000 by Fyodor (fyodor@insecure.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; Version 2. This guarantees your right to use, modify, and redistribute Nmap under certain conditions. If this license is unacceptable to you, Insecure.Org may be willing to sell alternative licenses (contact fyodor@insecure.org ). Source is provided to this software because we believe users have a right to know exactly what a program is going to do before they run it. This also allows you to audit the software for security holes (none have been found so far). Source code also allows you to port nmapfe to new platforms, fix bugs, and add new features. You are highly encouraged to send your changes to Fyodor for possible incorporation into the main Nmap distribution. By sending these changes to Fyodor or nmap-hackers, it is assumed that you are offering Fyodor the unlimited, non-exclusive right to reuse, modify, and relicense the code. If you wish to specify special license conditions of your contributions, please state them up front. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details (it is in the COPYING file of the nmap distribution). It should also be noted that Nmap has been known to crash certain poorly written applications, TCP/IP stacks, and even operating systems. Nmap should never be run against mission critical systems unless you are prepared to suffer downtime. We acknowledge here that Nmap may crash your systems or networks and we disclaim all liability for any damage or problems Nmap could cause. NMAPFE(1)
All times are GMT -4. The time now is 07:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy