리눅스 분류
리눅스에서 ip대역 ping을 쳐서, 그 결과를 저장하는 쉘 문의
작성자 정보
- 김영상 작성
- 작성일
컨텐츠 정보
- 3,844 조회
- 4 댓글
- 0 추천
- 목록
본문
리눅스에서 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
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
김영상님의 댓글의 댓글
- 김영상
- 작성일
&> /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까지 숫자 출력
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까지 숫자 출력