Solaris에서 grep 및 find 시 오류를 /dev/null로 리디렉션

Solaris에서 grep 및 find 시 오류를 /dev/null로 리디렉션

나는 솔라리스를 시험해 보아야겠다는 생각이 들었습니다. 나는 일반적으로 이를 리디렉션 2>/dev/null하고 일반적으로 Solaris에서 작동하지만 Solaris에서 재귀 "greps"를 수행하는 이 두 가지 방법을 사용하지 않습니다.

# no errors, but doesn't actually redirect "permission denieds" to /dev/null
/usr/sfw/bin/ggrep -rni test / 2>/dev/null

# errors
find / -type f -exec grep test {} + 2>/dev/null
find: bad option 2
find: [-H | -L] path-list predicate-list 

누군가 이것을 설명할 수 있나요?

답변1

2>/dev/null다른 Unix 변형과 마찬가지로 Solaris에서 실행됩니다. 이는 셸의 기능(오류 출력 리디렉션에 사용됨 2>)과 모든 Unix 계열 기능( /dev/null범용 싱크)에 존재하는 기능입니다.

설명하는 동작은 사용 중인 쉘이 2>리디렉션 연산자가 아님을 나타냅니다. 아마도 csh를 사용하고 있을 것입니다. 해결책은csh를 사용하지 않음. Csh는 1980년대 최고의 대화형 셸이었지만 지금은 더 이상 1980년대가 아닙니다. 다른 Unix 변형과 마찬가지로 Solaris에서도 csh를 사용할 이유가 없습니다. ksh를 사용하거나, 보다 편안한 명령줄 환경을 원한다면 zsh 또는 bash를 사용하세요.

관련 정보