A cygwint használom a Windows gépemben. Megpróbálok keresni, és ez hibás paraméterformátumot ad. Miért van ez?

$ 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 
  • Telepítenem kell valamit a cygwin telepítése közben, vagy rosszul csinálok valamit?

Válasz

A PATH fájlod rossz. A Cygwin könyvtárak előtt Windows rendszerkönyvtárak vannak, vagy egyáltalán nincsenek Cygwin könyvtárak. Ez az üzenet a find Windows parancsból származik (hogy a nevét FIND a nagybetűvel utalás).

A Cygwin héj indításakor általában be kell állítania a PATH parancsot. hogy elindít egy bejelentkezési héjat (ha jól emlékszem, ezt csinálják az alapértelmezett Cygwin rendszermenü bejegyzések). A Cygwin PATH fájljának /usr/local/bin, /usr/bin és /bin (legalább) minden nem Cygwin könyvtár előtt.

Megjegyzések

  • Igen, hogy ' valószínűleg. Ez a hiba azért van, mert a használt találat a Windows ' s parancs, nem a cygwin ' s.
  • Vagy írja be a /usr/bin/find szót a find
  • I ' helyett /usr/bin az útvonalban, gondolom, hogy a shell a $ PATH-ban található első find -et használja, ami a rendszer. Arra készültem, hogy eltávolítsam (mert nekem egyébként ' nem volt szükségem rá) , de feltételezem, hogy néhány véletlenszerű rendszer-szkript erre számíthat find. Tehát ennek helyes megoldása az, hogy egy álnevet alias find="/usr/bin/find" beírunk a ~/.bashrc (vagy bármelyik héjba, ' újra használja) .

Válasz

A find telepítve van? Mit ad vissza a “melyik megtalálja”? Ne feledje, hogy a Windows rendelkezik beépített parancssorral, amelyet a Cygwin használ, ha a saját lelete mia.

Válasz

A Gilles válasza abban helyes, hogy a find parancs Windows verziója a cygwin verzió elé kerül, ezért ezt hívják.

Cygwin előrevitele ez azonban azt jelenti, hogy minden olyan kötegelt fájl, amely a windows find parancsot használja, most valóban meghívja a cygwin find parancsot, ami nem biztos, hogy Ön

Véleményem szerint mindkettőnek a legszimbiotikusabb módja az alábbi:

  1. Keresse meg a cygwin find parancsot, és nevezze át / másolja át a lfind.exe (vagy bármely más névre, amely nem a Windows PATH-ján van)
  2. A ~/.bashrc fájl adja hozzá a (z) alias find=lfind

sort. Ilyen módon a find a cygwin terminálról a t-t fogja használni ő a cygwin verzió, de a kötegelt fájlok a Windows verziót fogják használni.

Megjegyzés: Szüksége lesz még a PATH-on lévő cygwin bin könyvtárra, de most már a Windows rendszer könyvtárából is visszaléphet.

Válasz

Válasz

Itt vannak a GNU-utilek natív Win32-portként . Nincs szükségük a cygwin futtatására, és héjjal (sh.exe) érkeznek, beleértve a grep, sed, awk, find, less, cat, tac és még sok mást.

A probléma a a Windows elérési útja továbbra is fennáll, de talán átnevezi a keresést gfind (gnu-find) vagy search névre, hogy könnyebbé tegye elérhető, és adja hozzá a coreutils dir-t a PATH-hoz

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük