seq funktioniert nicht mehr, gibt es ersatz

07/11/2007 - 14:20 von Ralf K aus K | Report spam
das kommando "seq" (sequenz) funktioniert aus einem mir unbekannten
grund nicht nicht mehr. auch mein kollege hat keine ahnung warum das
auf einmal so ist. da ich auch keinen bock habe mir weiter gedanken
darüber zu machen suche ich jetzt einfach eine andere lösung.

hier das problem:
ich habe mir einen kleinen, für meine zwecke ausreichenden,
netzwerkscanner gebaut (source siehe unten). wenn das script startet
gebe ich das subnet und danach start- und end IP-adresse an.
da aber "seq" nicht mehr verwendet werden kann bricht das script
logischerweise ab, deshalb brauche ich jetzt eine andere lösung, mir
ist allerdings noch nix eingefallen.

ich brauche also einen tip wie ich das am besten lösen kann ...

Mein System:
UNIX SunOS 5.8

btw.:
ich bin zwar root, aber trotzdem darf/will ich keine software
installieren, ich brauche definitiv eine lösung mit bordmitteln.

hier mal der quelltext vom script:

#!/bin/ksh
# scan ip-range
###############################
#
set +x
clear
echo ""
echo " use CTRL+C to abort "
echo " end ip should not exceed 254 !!!"
echo ""
echo "scan your local network ..."
echo "enter subnet e.g.: 19.187.238 || 19.187.239 || 19.187.240 ||
19.187.241 :"
read subn
# echo ""
echo "enter start ip :"
read sip
# echo ""
echo "enter end ip :"
read eip
echo ""
#
if [ -f alivehosts_"${subn}.${sip}-${subn}.${eip}" ] ; then
rm -rf alivehosts_"${subn}.${sip}-${subn}.${eip}"
fi
if [ -f deadhosts_"${subn}.${sip}-${subn}.${eip}" ] ; then
rm -rf deadhosts_"${subn}.${sip}-${subn}.${eip}"
fi
clear
#
echo "- subnet to scan: ${subn}"
echo "iprange: ${subn}.${sip} - ${subn}.${eip}"
echo ""
for i in $(seq ${sip} ${eip}); do \
ping ${subn}.${i} 1; \
if [ $? = 0 ] ; then \
nameIP=`nslookup ${subn}.${i} | grep Name: | awk '{ print $2 }'` ; \
nameUSER=`rusers ${subn}.${i} | sed 's/'${subn}.${i}'//'| sed 's/
^[ ]*//' `; \
echo ${subn}.${i} "..." ${nameIP} "..." ${nameUSER} >> alivehosts_"$
{subn}.${sip}-${subn}.${eip}";
else \
nameIP=`nslookup ${subn}.${i} | grep Name: | awk '{ print $2 }'` ; \
echo ${subn}.${i} "..." ${nameIP} "..." >> deadhosts_"${subn}.${sip}-$
{subn}.${eip}";
fi \
done
#
clear
echo ""
echo "- scan result :"
echo ""
echo "- alive hosts ... "
echo ""
cat alivehosts_"${subn}.${sip}-${subn}.${eip}"
echo ""
exit 0
 

Lesen sie die antworten

#1 Dirk Clemens
07/11/2007 - 14:54 | Warnen spam
Ralf K aus K schrieb:
das kommando "seq" (sequenz) funktioniert aus einem mir unbekannten
grund nicht nicht mehr. auch mein kollege hat keine ahnung warum das
auf einmal so ist. da ich auch keinen bock habe mir weiter gedanken
darüber zu machen suche ich jetzt einfach eine andere lösung.




Anstatt
seq $from $to
geht auch
eval echo "{$from..$to}" | tr ' ' ''

Dirk

Mail bitte an: lemmi (minus) usenet (at) ftb (minus) net (dot) de

Ähnliche fragen