Domanda

Ho bisogno di automatizzare il comando 'net use' su Cygwin.

Il comando è 'uso / net user: "nome" \ qualche parte'. E 'Immettere la password per 'nome' di connettersi a 'prosseek':'. Si prevede di inserire la password

Funziona bene con ingresso di linea di comando, e quando eseguito all'interno di file batch. Non funziona quando faccio uno script si aspettano come segue.

spawn net use /user:"name" \\prosseek\somewhere
expect "Enter the password for 'name' to connect to 'prosseek':"
send "password\n"
interact

ottengo messaggio di errore come 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)

  • D: Che cosa potrebbe essere sbagliato
  • D: Può qualcuno dei comandi MS qualcosa come 'net use' lavorare con Cygwin / aspettarsi
È stato utile?

Soluzione

Probabilmente non è possibile utilizzare Cygwin di aspettare con programmi non Cygwin; Cygwin emula ptys POSIX, mentre i programmi di Windows utilizzano proprio codice di gestione del terminale di Windows', che non sa nulla delle condotte che si aspettano sta cercando di leggere e scrivere.

Hai anche riusciti a fuggire i tuoi backslash in aspettarsi; si noti che il messaggio di errore dà una stringa diverso da quello che avete passato in.

Altri suggerimenti

Qui potrebbe essere alcuni suggerimenti:

Si può esplorare a \ prosseek \ da qualche parte? Se quindi immagino che potrebbe essere necessario per sfuggire ai backslash \\ proseek \ qualche parte.

Il nome pezzo di rete potrebbe anche indicare che non è possibile risolvere il nome host.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top