안녕을 기대 사용하여 변수에 IP 주소를 추출, 나는 다음과 같은 사용하여 변수에 IP 주소를 가져 오기 위해 노력 해왔다 :내가 스크립트를 기대하는 새로운 오전 스크립트
set timeout -1
spawn $env(SHELL)
match_max 100000
send "ifconfig | grep -A 1 'eth1' | tail -1\r "
expect -re "inet addr:.* " {send "ping $expect_out(0,string)\r"}
send -- "exit\r"
expect eof
문제는이 때문이다 일부 문자열 문자가있는 ifconfig 명령의 결과로 ping을 시도합니다.
누구든지 ifconfig 명령에서 IP 주소 만 추출하여 변수에 저장할 수 있습니까? 나는 $ expect_out (버퍼)도 사용하고 있었지만, 단지 내 머리를 감당할 수 없었다. 이 라인을 따라 어떤 도움을 많이 주시면 감사하겠습니다.
귀하의 회신에 감사드립니다. 그것은 완벽하게 작동합니다. 또한 기대 (버퍼) 및 IP 일치와 관련하여 어떤 마법이 진행되고 있는지에 대해 알려줄 수 있습니다. 일치가 예상되는 버퍼에서 ipaddress를 추출하는 방법은 무엇입니까? 그 위에 몇 줄을 떨어 뜨려주세요. 부탁해 줘서 고마워. – Mmudalagiri
내 대답을 편집하여 세부 정보를 추가하십시오. –
안녕하세요, 유익한 답변을 보내 주셔서 감사합니다. 여기에 문제가 하나 더있어. ipaddress의 마지막 자릿수가 잘리고 변수 "ip"에 저장됩니다. 예 : 올바른 것 대신 138.231.50.8 138.231.50.80 .. 어떤 아이디어가 ... ?? – Mmudalagiri