Ich habe den Cmder Shell Emulator für Windows installiert .
Funktioniert gut, aber ich kann den Befehl find von Unix nicht verwenden. Anscheinend, wenn ich tippe:
'find .'
Im Terminal wird versucht, Windows FIND zu verwenden und diesen Fehler auszugeben:
FIND: Parameter format not correct
Ich würde wirklich gerne find verwenden, einen Hinweis darauf, wie es funktioniert?
windows
command-line
unix
find
terminal-emulator
Heisenbug
quelle
quelle
find
sich zuvorC:\Windows\System32
in derPATH
Umgebungsvariablen befindet (in dem Windows gefunden wird) . Dies wird im Allgemeinen als keine gute Idee angesehen, da dies andere Programme verwirrt, die eine Standard-Windows-Umgebung erwarten. Vielmehr sollten Sie sehen, ob Sie ein Startskript in Cmder festlegen und das Skript so etwas wieset PATH=C:\path\to\folder\with\unix\find;%PATH%
cmder
, aber unter Linux / Unixwhich -a find
werden alle Programme angezeigt, die mit dem Befehl find ausgeführt werden könnten. Identifizieren Sie das Unixfind
. Verwenden Sie dann den vollständigen Pfad oder ordnen Sie die Reihenfolge derPATH
Verzeichnisse neu an, oder legen Sie einen Alias fest, falls diescmder
unterstützt wird. Sie können auch die Windows umbenennenfind.exe
zuwfind.exe
. Wenn es emuliertbash
, können Sie das eingebaute verwendentype -a find
.sfc /scannow
kannwhich -a find
kehrt zurück/c/WINDOWS/system32/find /usr/bin/find
. Leider laufen die/usr/bin/find
RenditenThe system cannot find the path specified.
. Es scheint, dass hier der eigentliche Windows-Pfad benötigt wird. Durch Ausführen werdentype
die Fenster gestartettype
, und es wird anscheinendcmder
nicht die Unix-ähnliche Version bereitgestellt.Antworten:
Die einfachste Lösung besteht darin, einen Alias für die
find
ausführbare Datei imcmder
Installationsordner zu erstellen :Darf ich vorschlagen, dass Sie auch Cygwin ausprobieren, wo es unter anderem sofort
find
funktioniert. Das ist es, was ich verwendet habe, um den Ort dercmder
Lieferung zu bestimmenfind.exe
.Ein großes Lob an @Bob und @AFH für ihre aufschlussreichen Kommentare und an @ Lưu Vĩnh Phúc für den Vorschlag einer weiteren absolut einfachen Lösung:
Dies könnte tatsächlich preferrable über einen Aliasnamen erstellen, weil
cmder
Aliase in Windows 10 nicht arbeiten , es sei dennUse legacy console
in ausgewählt istcmd
Eigenschaften (siehe , wie man es tun).quelle
cmder
hat den offensichtlichen Vorteil, dass es portabel ist und keine Installation durch einen privilegierten Benutzer erforderlich ist.find
in einen anderen Namen umbenennen wiefnd.exe
Cmder\vendor\git-for-windows\usr\bin
wird dem PFAD durch hinzugefügtCmder\vendor\init.bat
. Leider wird es am Ende des PFADS hinzugefügt , sodass die find.exe von Windows zuerst gefunden wird.Zum Glück ist es einfach zu beheben. Fügen Sie einfach diese Zeile hinzu
Cmder\config\user-profile.cmd
:set "PATH=%GIT_INSTALL_ROOT%\usr\bin;%PATH%"
quelle
Ich habe Smartgit in Windows installiert
Dann füge ich C: \ Programme (x86) \ SmartGit \ git \ bin (mein Smartgit-Ordner) zur Pfadumgebung hinzu
Drücken Sie win + r, um Bash einzugeben. In der Bash-Shell können Sie den Befehl find verwenden. In Cmder können Sie auch bash eingeben, um es zu verwenden
quelle