이 find
명령은 oh-my-zsh를 사용하는 OSX에서 예상대로 작동하지 않습니다. 몇 가지 예:
$ find . -name test
find: .: Invalid argument
$ find
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
$ find --version
find: illegal option -- -
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
$ find version
find: .: Invalid argument
동일한 예제가 내 Linux 상자에서 예상대로 작동하기 때문에 여기서 무슨 일이 일어나고 있는지 잘 모르겠습니다. 이것을 디버깅하는 방법에 대한 아이디어가 있습니까?
답변1
Linux에서는 기본으로 제공되는 GNU find를 사용하려고 하는데, Mac OS X에는 BSD find가 포함되어 있어 차이점이 많이 있기 때문입니다.
GNU를 설치하려면 Homebrew가 필요합니다. 설치는 매우 간단합니다. 다음 단계를 따르세요.http://brew.sh/
그런 다음 findutils를 설치할 수 있습니다.
brew install findutils
Mac에서 Linux 환경을 시뮬레이션하기 위한 자세한 내용과 기타 도구를 보려면 다음을 방문하세요.https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities
다른 옵션은 BSD 찾기 매뉴얼 페이지를 읽고 명령을 조정하는 것입니다. 실행하면 man find
화면 상단에 "BSD Universal Command Manual"이 표시되어 실제로 BSD를 찾았음을 확인할 수 있습니다.