Il comando find non sembra funzionare in Cygwin


10

Quando provo ad eseguire i comandi find in cygwin, continuo a ricevere l'errore

"TROVA: formato parametro non corretto"

Tuttavia, gli stessi comandi vengono eseguiti su Linux. Cosa sta succedendo?

Risposte:


13

Stai usando il comando find di Windows, non quello di Cygwin.

Ciò viene chiarito se si digita "che trova"

Per correggerlo, modifica il tuo percorso (Proprietà del sistema -> Avanzate -> Variabili d'ambiente -> Variabili di sistema -> Percorso) e sposta la voce per cygwin all'inizio del percorso. (Un modo semplice per farlo è copiare l'intero percorso, incollarlo nel Blocco note e modificarlo lì, e incollarlo indietro).

Come sottolineato nei commenti, un'altra strada è quella di modificare gli script di avvio di bash e cambiare il percorso lì. Direi persino che questa è la soluzione preferita, poiché ora ho trovato un caso in cui avere versioni cygwins per la prima volta ha causato un problema.


5
questa potrebbe non essere la soluzione ideale; un'alternativa è modificare i file di avvio di bash per anteporre i percorsi Cygwin al percorso di sistema anziché aggiungerli. la differenza principale è se si desidera che le versioni di Cygwin vengano trovate per prime quando si eseguono comandi nelle shell standard di Windows CMD o Explorer.
Quack Quixote

cygwin sta anteponendo i propri percorsi a quello globale. quindi è abbastanza strano OP ottenere quell'errore.
Akira,

Buon punto ciarlatano!
Dggoldst,

2

Non sono riuscito a ottenere la 'ricerca' corretta da eseguire quando nella shell dei comandi di Windows, e il tweaking PATH non ha aiutato. Ma ha funzionato:

bash
/usr/bin/find . -iname blahblah*
exit

Il percorso esplicito ha generato il giusto "trova" e, per qualsiasi motivo, funziona solo quando si esegue in bash.


Questo ha funzionato meglio per me. Stavo scrivendo una sceneggiatura che potesse essere eseguita su varie macchine che avevano già bash. Alcuni avevano il percorso bash prima di \ Windows \ System32, ma alcuni lo avevano dopo. Inoltre, il comando di Windows "dove trovare" ti mostrerà tutti i "trova" in ordine di percorso.
PseudoNoise,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.