Cygwin의 기대는 순 사용과 함께 작동하지 않습니까?
-
19-09-2019 - |
문제
Cygwin에서 'Net Use'명령을 자동화해야합니다.
명령은 'net use /user : "name" externer'입니다. 'prosseek'에 연결하려면 '이름'의 비밀번호를 입력하십시오. '는 비밀번호를 입력해야합니다.
명령 줄 입력과 잘 작동하고 배치 파일 내부에서 실행될 때 잘 작동합니다. 다음과 같이 기대 스크립트를 만들 때 작동하지 않습니다.
spawn net use /user:"name" \\prosseek\somewhere expect "Enter the password for 'name' to connect to 'prosseek':" send "password\n" interact
다음과 같이 오류 메시지가 나타납니다.
spawn net use /user:"name" \prosseek\somewhere System error 67 has occurred.네트워크 이름을 찾을 수 없습니다.
보내기 : "Send"Password n ""을 실행하는 동안 유효하지 않은 스폰 ID (4) (파일 "Conpros"라인 9)
- Q : 무엇이 잘못 되었을까요?
- Q : 일부 MS는 'Net Use'와 같은 Cygwin/Expect와 협력 할 수 있습니까?
해결책
아마도 Cygwin의 기대를 사용하지 않을 수 있습니다. Cygwin은 Posix Ptys를 에뮬레이션하는 반면 Windows 프로그램은 Windows의 자체 터미널 처리 코드를 사용하는데, 이는 읽고 쓰려고하는 파이프 라인에 대해서는 아무것도 모릅니다.
당신은 또한 당신의 등 슬래시를 기대하지 못했습니다. 오류 메시지는 전달한 문자열과 다른 문자열을 제공합니다.
다른 팁
여기에 몇 가지 제안이있을 수 있습니다.
prosseek 어딘가에 탐색 할 수 있습니까? 그렇다면 나는 당신이 어딘가에 백 슬래시를 피해야 할 수도 있다고 생각합니다.
네트워크 이름 조각은 호스트 이름을 해결할 수 없음을 나타낼 수도 있습니다.
제휴하지 않습니다 StackOverflow