- 论坛徽章:
- 0
|
问题是在执行telnet登陆交换机时执行show interfaces counters 这个命令不能全部显示输出,需要按若干个空格才能显示剩下的内容。
导致收集屏幕输出时,显示内容不全。
因此请教大家,有没有什么方法,在执行命令后,让其自动按若干个空格,把所有内容在屏幕中都显示出来。
或者有没有其他命令,可以一次性输出所有端口信息?
先谢谢大家~
下面是目前的脚本内容
#执行脚本
----------------------------------------------------------
#!/bin/bash
>download.txt
while read -u3 line1
do
v1=`echo $line1 | awk -F[","] '{print $1}'`
v2=`echo $line1 | awk -F[","] '{print $2}'`
echo 'ip_address:'$v2
./switchinfo.sh $v1 $v2
echo 'ip_address:'$v2 >> download.txt
cat out.log$v1 |egrep 'Port|Fa|Gi|Po1' >> download.txt
done 3<ipinfo
rm -rf out*
-----------------------------------------------------------
#嵌套脚本switchinfo.sh
-----------------------------------------------------------
#!/bin/bash
tmptty=`tty`
tmptty=`basename $tmptty`
tmpname=`whoami`
ip=$2
inp1="(v-p-n)"
#inp2="stem2008"
inp3="show interfaces counters"
inputfile=in
outputfile=out.log$1
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile
exec 7<>$outputfile
exec 8<>$inputfile
telnet $ip <&8 >&7 &
sleep 2; echo $inp1 >> $inputfile
echo "executing command $inp3"
sleep 2; echo $inp3 >> $inputfile
echo "exiting"
sleep 2; echo "exit" >> $inputfile
sleep 2; echo -e "\n" >> $inputfile
rm $inputfile
#rm $outputfile
|
|