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
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:
- Etsi cygwin
find
-komento ja nimeä se uudelleen / kopioi se tiedostoonlfind.exe
(tai mihin tahansa muuhun nimeen, jota ei ole Windowsin PATH: lla) -
~/.bashrc
tiedosto lisää rivialias 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:
- Käynnistä asennus, valitse peili ja siirry pakettinäyttöön.
- Valitse ”Säilytä” yläreunan valintanappien luettelosta.
- Valitse haluttu paketti asiaankuuluvassa ryhmässä
- 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.
/usr/bin/find
find
/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 aliakseksialias find="/usr/bin/find"
osaksi~/.bashrc
(tai mitä tahansa kuorta sinä ' käyttää uudelleen) .