unix encontra o comando no cmder.exe no windows

7

Eu instalei o cmder shell emulator para Windows.

Funciona bem, mas não consigo usar o comando find do Unix. Aparentemente, quando digito:

'find .'

no terminal ele tenta usar o FIND do Windows e gera este erro:

FIND: Parameter format not correct

Eu realmente gostaria de usar o find, alguma dica sobre como fazê-lo funcionar?

    
por Heisenbug 14.06.2017 / 12:10

2 respostas

8

A solução mais simples é criar um alias para o executável find na pasta de instalação cmder :

λ which find
/c/WINDOWS/system32/find
λ find --help
FIND: FIND: Parameter format not correct
λ alias find=C:\Files\Programs\cmder\vendor\git-for-windows\usr\bin\find.exe $*
λ find --help
Usage: /usr/bin/find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

Posso sugerir que você também experimente o Cygwin , onde, entre outras coisas, find funciona imediatamente. Isso é o que eu usei para determinar a localização do cmder -supplied find.exe .

Parabéns para @Bob e @AFH por seus comentários perspicazes e para @ Lưu Vĩnh Phúc para sugerir outra solução morta simples:

rename the *nix find to another name like fnd.exe

Isso pode ser realmente preferível ao criar um alias, porque cmder aliases não funcionam no Windows 10, a menos que Use legacy console seja selecionado em cmd properties (consulte como fazer isso.

    
por 14.06.2017 / 17:23
2

Cmder\vendor\git-for-windows\usr\bin é adicionado ao PATH por Cmder\vendor\init.bat . Infelizmente, ele é adicionado no fim do PATH, então o arquivo find.exe do Windows é encontrado primeiro.

Felizmente, é fácil corrigir. Basta adicionar essa linha dentro de Cmder\config\user-profile.cmd :

set "PATH=%GIT_INSTALL_ROOT%\usr\bin;%PATH%"

    
por 09.12.2017 / 22:43