Käytän cygwinia Windows-koneessani. Yritän löytää haun, ja se antaa parametrimuodon vääräksi. Miksi näin on?

$ ls bootstrap.jar catalina-tasks.xml catalina.bat catalina.sh commons-daemon-native.tar.gz commons-daemon.jar cpappend.bat digest.bat digest.sh setclasspath.bat setclasspath.sh shutdown.bat shutdown.sh startup.bat startup.sh tomcat-juli.jar tomcat-native.tar.gz tool-wrapper.bat tool-wrapper.sh version.bat version.sh $ find . -name "version.sh" FIND: Parameter format not correct 
  • Pitäisikö minun asentaa jotain asennettaessa cygwinia vai teen jotain väärin?

vastaus

PATH on huono. Sillä on Windows-hakemistoja ennen Cygwin-hakemistoja, tai ehkä ei ole lainkaan Cygwin-hakemistoja. Tämä viesti tulee Windowsin komennosta find (että se ilmoittaa nimensä nimellä FIND isoilla kirjaimilla on vihje).

Kun käynnistät Cygwin-kuoren, sinun on yleensä asetettava PATH. Suosittelen että käynnistät kirjautumissuoren (jos muistan oikein, niin Cygwinin oletusarvoiset järjestelmän valikkomerkinnät tekevätkin). Cygwinillä PATH tulisi olla /usr/local/bin, /usr/bin ja /bin (ainakin) minkä tahansa muun kuin Cygwin-hakemiston edessä.

Kommentit

  • Yup, että ' luultavasti se. Tämä virhe johtuu siitä, että käyttämäsi haku on Windows ' s -komento, ei cygwin ' yksi.
  • Tai kirjoita /usr/bin/find find
  • I ' -viestin sijaan /usr/bin polussa, luultavasti kuori käyttää ensimmäistä find, joka löytyy järjestelmästä, $ PATH. Aioin poistaa sen (koska en tarvinnut ' sitä joka tapauksessa) , mutta luulen, että jotkut satunnaiset järjestelmäskriptit saattavat odottaa juuri tätä find. Joten korjaamalla tämä oikea tapa on kirjoittaa aliakseksi alias find="/usr/bin/find" osaksi ~/.bashrc (tai mitä tahansa kuorta sinä ' käyttää uudelleen) .

Vastaa

Onko haku asennettu? Mitä ”jotka löytävät” palaa? Muista, että Windowsissa on sisäänrakennettu komentorivi, jota Cygwin päätyisi käyttämään, jos sen oma löytö on mia.

Vastaa

Gillesin vastaus on oikea siinä mielessä, että find -komennon Windows-versio on ennen cygwin-versiota, joten sitä kutsutaan.

Cygwinin vieminen eteenpäin tarkoittaa kuitenkin sitä, että kaikki komentotiedostot, jotka käyttävät Windows find -komentoa, kutsuvat nyt cygwin find -komentoa, mikä ei ehkä ole sinun haluaisin.

Symbioottisin tapa molemmille työskennellä on mielestäni seuraava:

  1. Etsi cygwin find -komento ja nimeä se uudelleen / kopioi se tiedostoon lfind.exe (tai mihin tahansa muuhun nimeen, jota ei ole Windowsin PATH: lla)
  2. ~/.bashrc tiedosto lisää rivi alias find=lfind

Tällä tavalla, kun suoritat find cygwin-terminaalista käytetään t cygwin-versio, mutta erätiedostot käyttävät Windows-versiota.

Huomaa: Tarvitset edelleen Cygwin bin -hakemiston PATH-tietokoneellasi, mutta se voi nyt olla kauempana Windowsin järjestelmähakemistosta.

Vastaa

Kun asennat Cygwinia uudelleen, se ei asenna kaikkia mahdollisia paketteja, ellet pyydä sitä. Jos haluat lisätä halutun paketin, katso selitys täältä superkäyttäjältä.

Tai suorita vain seuraavat toimet:

  1. Käynnistä asennus, valitse peili ja siirry pakettinäyttöön.
  2. Valitse ”Säilytä” yläreunan valintanappien luettelosta.
  3. Valitse haluttu paketti asiaankuuluvassa ryhmässä
  4. Valitse Jatka

Vastaa

Tässä ovat GNU-utils natiivina win32-porttina . He eivät tarvitse cygwinia ajettavaksi, ja mukana tulee kuori (sh.exe), mukaan lukien grep, sed, awk, find, less, cat, tac ja paljon muuta.

Ongelma Windowsin polku jatkuu, mutta ehkä nimität löydön uudestaan gfind (gnu-find) tai search, jotta se olisi helpompaa käytettävissä ja lisää coreutils dir PATH: iisi.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *