셸 및 도달 가능성 테스트의 여러 방법

 

1. C 프로그램처럼

#!/bin / bash

...에 대한 ((i=1;나는<=100;나++))

하다

$i를 에코해

끝난

 

2 . 코드 블록

#!/bin / bash

나 때문에 {1..100}

하다

$i를 에코해

끝난

 

3. 시퀀스 모드

#!/bin / bash

`seq의 i에 대해 1 100`

하다

$i를 에코해

끝난

실행 결과

[루트 @ AMH ~]# bash for.sh

1

2

3

4

5

6

7

.

100

 

/opt/ip.txt에 대량의 IP를 삽입하세요. , 각 행마다 하나의 IP,

쉘 스크립트로 모든 IP 주소의 연결 가능성을 감지합니다..

#/bin / bash

`cat /opt/ip.txt`의 IP에 대해

하다

핑 $ip -c 2 >> /dev / null 2>&1

만약 [ $? -eq 0 ]; 그때

echo $ip가 작동 중입니다

그밖에

echo $ip가 다운되었습니다

있다

끝난

 

실행 결과

[root @ localhost ~]# 배쉬 ip_new.sh

10.8.37.67 일어나있다

10.8.20.35 일어나있다

10.8.23.223 일어나있다

10.8.23.43 다운되었습니다

10.8.39.19 다운되었습니다

10.8.24.95 다운되었습니다

10.8.20.63 일어나있다

10.8.14.207 다운되었습니다

10.8.23.59 다운되었습니다

 

이 스크립트의 내용을 풍부하게 합니다., 포트 여부 확인 36566 개업 중이거나

IP가 핑을 할 수 있다면 그렇지 않습니다.

#/bin / bash

패키지=`rpm -qa | grep ^nc-`

만약 [ $패키지 != `rpm -qa | grep ^nc-` ]; 그때

에코 “준비 중…”

냠 설치 nc -y >>/개발/널

그밖에

에코 “nc가 설치되었습니다”

있다

`cat /opt/ip.txt`의 IP에 대해

하다

핑 $ip -c 2 >> /dev / null 2>&1

만약 [ $? -eq 0 ]; 그때

echo -e $ip가 작동 중입니다. “\씨”

sshd_port=`nc -w 10 -z $ip 36566 | awk‘{인쇄 $7}’`

만약 [ “$sshd_port” == “성공했다!” ]; 그때

에코 “포트 36566 좋아요”

그밖에

에코 “포트 36566 오류”

바위

echo $ip가 다운되었습니다

있다

끝난

 

실행 결과

[root @ localhost ~]# 배쉬 ip_new.sh

nc가 설치되었습니다

10.8.38.35 위쪽 포트임 36566 좋아요

10.8.37.63 다운되었습니다

10.8.23.11 다운되었습니다

10.8.39.15 위쪽 포트임 36566 오류

10.8.23.43 위쪽 포트임 36566 좋아요

10.8.24.115 다운되었습니다

10.8.38.139 위쪽 포트임 36566 좋아요

답장을 남겨주세요