![Solaris에서 grep 및 find 시 오류를 /dev/null로 리디렉션](https://linux55.com/image/106369/Solaris%EC%97%90%EC%84%9C%20grep%20%EB%B0%8F%20find%20%EC%8B%9C%20%EC%98%A4%EB%A5%98%EB%A5%BC%20%2Fdev%2Fnull%EB%A1%9C%20%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98.png)
나는 솔라리스를 시험해 보아야겠다는 생각이 들었습니다. 나는 일반적으로 이를 리디렉션 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를 사용하세요.