cygwin de esperar que não funciona com o uso net?
-
19-09-2019 - |
Pergunta
Eu preciso para automatizar o comando 'net use' no cygwin.
O comando é 'net use / user: "nome" \ algum lugar'. E 'Digite a senha para 'nome' para se conectar ao 'prosseek':'. Espera-se que insira a senha
Ele funciona bem com a entrada de linha de comando, e quando executar o arquivo batch dentro. Ele não funciona quando faço uma esperam roteiro a seguir.
spawn net use /user:"name" \\prosseek\somewhere expect "Enter the password for 'name' to connect to 'prosseek':" send "password\n" interact
Eu recebo mensagem de erro como segue.
spawn net use /user:"name" \prosseek\somewhere System error 67 has occurred.The network name cannot be found.
send: invalid spawn id (4) while executing "send "password\n"" (file "conpros" line 9)
- Q: O que pode estar errado
- Q:? Pode algum comando algo MS como 'net use' trabalhar com cygwin / esperar
Solução
Você provavelmente não pode usar o Cygwin esperar com programas não-cygwin; Cygwin emula posix ptys, enquanto os programas do Windows usar o próprio código de manipulação de terminal do Windows', que não sabe nada sobre os oleodutos que esperam que está tentando ler e escrever.
Você também não conseguiu escapar suas barras invertidas em esperar; Observe que a mensagem de erro dá uma seqüência diferente do que você passou.
Outras dicas
Aqui pode haver algumas sugestões:
Você pode explorar a \ prosseek \ algum lugar? Se então eu imagino que você pode precisar para escapar as barras invertidas \\ proseek \ algum lugar.
A peça nome da rede também pode indicar que ele não pode resolver o nome do host.