테스트 장치에 텔넷으로 연결하고 로그인 한 후 10 줄의 응답을 제공하는 명령을 실행하십시오. 이 10 줄을 배열이나 데이터 구조에 할당하여 응답을 확인하려고합니다. 예 : 내 대답은 다음과 같습니다. 줄의 목록에서 비트와 조각을 확인하고 싶습니다. 192
, brown
및 0903
을 확인하고 싶을 수 있습니다. telnet 명령의 응답 처리
나는
녹색, 갈색
노란색 0903
내 샘플 코드에 따라 11 0909 곡물
의 색상 입니다있는 모래의 192 개 블록을 가지고있다. 결과를 배열로 지정하면 모든 데이터가 첫 번째 요소로 지정됩니다.
require 'net/telnet'
i = Net::Telnet::new("Host" => '192.111.214.16',
"Port" => 23,
"Output_log" => "output.log", # default: nil (no output)
"Dump_log" => "dump.log", # default: nil (no output)
"Prompt" => /[#>]/ , # default: /[$%#>] \z/n
"Telnetmode" => true, # default: true
"Timeout" => 100, # default: 10
)
i.login("admin", "pass") { |c| print c }
result = i.cmd("String" => "status", "Match" => /a#/)
print result
는 응답이 항상 동일한 구조로 돌아 오지 않거나 데이터 이동을 할 수 있습니다
그래서 당신은 한 줄에 하나의 문자열을 포함하는 배열로 얻을 수
split
을 사용할 수 있어야합니다? – James동일한 구조가 의도됩니다. 동일한 구조로 수신되며 미리 설정된 값을 비교하기 쉽습니다. – aksarc