리눅스					분류
				
						리눅스에서 ip대역 ping을 쳐서, 그 결과를 저장하는 쉘 문의
작성자 정보
- 김영상 작성
 - 작성일
 
컨텐츠 정보
- 7,098 조회
 - 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까지 숫자 출력
								