무선 인터페이스의 모드를 변수에 저장하는 스크립트를 작성해보세요. 즉, iwconfig의 모드 출력을 보유하기 위해 $mode라는 변수를 원합니다. iwconfig가 "Mode:Managed" 모드를 반환하면 "Managed"가 변수 $mode에 할당되고, iwconfig가 "Mode:Monitor"가 반환되면 "Monitor"가 $mode 변수에 할당됩니다. 궁극적인 목표는 이를 수행할 수 있는 echo $mode
것이며 "모니터링" 또는 "호스팅"을 반환합니다.
감사해요.
답변1
해결책 sed
:
mode=$(iwconfig | sed -n '/Mode:/s/.*Mode://; s/ .*//p')
이것은 다음을 포함하는 라인에서 실행됩니다.모델:, 줄의 시작 부분부터 다음을 포함하여 모든 항목을 삭제합니다.모델:를 누른 다음 첫 번째 공백부터 줄 끝까지 모든 내용을 제거합니다.
-n 옵션은 처리된 행의 인쇄를 억제합니다 sed
. 이 p
명령은 관심 있는 선을 출력합니다.
그런 다음 명령의 결과가 에 할당됩니다 mode
.
확실히 유일한 방법은 아닙니다.
이 솔루션은 특정 iwconfig
출력 형식을 가정하며 이는 예고 없이 변경될 수 있습니다. 즉, 위험합니다.