질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

리눅스에서 ip대역 ping을 쳐서, 그 결과를 저장하는 쉘 문의

작성자 정보

  • 김영상 작성
  • 작성일

컨텐츠 정보

본문

리눅스에서 ip대역 192.168.0.1 부터 192.168.254.254까지 ping을 쳐서, 그 결과를 저장하는 쉘 짜려고하는데요.
(리눅스는 ping반응시 55나 56으로 응답해서 이걸로 리눅스ip사용자를 찾으려고 합니다.)

server[0]="192.168.254.254"
server[1]="192.168.0.1"


for (( i=0 ; i<${#server[*]} ; i++ )) ; do
  ping -c 1 -w 1 
${server[$i]} &> /dev/null

done

이렇게 A.bat라는 스크립트를 짜서, 
./A.bat >> a.log

실행결과를 a.log로 저장하라고 했는데 아무것도 기록이 왜 안될까요?





관련자료

댓글 4

쭈운님의 댓글

  • 쭈운
  • 작성일
null 처리가 됩니다.

&> /dev/null

김영상님의 댓글의 댓글

  • 김영상
  • 작성일
&> /dev/null 이부분 지우고 해보겠습니다. 감사합니다.

김영상님의 댓글의 댓글

  • 김영상
  • 작성일
결과 찍히네요. 근데 ip가 192.168.0.1 부터 1씩 증가해서 ping되는게 아니라 192.168.0.1 이랑 192,168.254.254 이 2개만 ping하는데.. 왜 그러죠? ㅠㅠ

냠냠이님의 댓글

  • 냠냠이
  • 작성일
#!/bin/bash

server1="192.168."

for var1 in `seq 0 10`
do
        for var2 in {1..10}
        do
        echo "$server1""$var1"."$var2"
## 이게 더 보기 좋네요.
##        ping -c 1 -w1  "$server1""$var1"."$var2" | grep -i bytes >> /root/a.log

        ping -c 1 -w1  "$server1""$var1"."$var2" >> /root/a.log
        done

done

10 을 255로 변경 하고 쓰시면 될 듯
## 참고
`seq 0 10` == {1..0}

## 0~ 10까지 숫자 출력

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,773 개
  • 현재 접속자 :  164 명