답변:
배쉬 자체는 대부분 동일합니다. 약간의 차이가 있지만 스크립트의 이식성에는 영향을 미치지 않습니다.
가장 큰 문제는 MacOS coreutils가 FreeBSD 기반이고 GNU 유틸리티에서 가장 많이 사용되는 유틸리티라는 것입니다. FreeBSD coreutils가 GNU coreutils와 항상 호환되는 것은 아닙니다. sed , grep , ps 및 기타 유틸리티 의 GNU 및 FreeBSD 버전간에 성능 및 동작 차이가 있습니다 .
당신은 GNU의로 coreutils를 설치할 수 있지만이 g-접두사 (예 gcat에 대한 cat). 그건 좋은 생각이 아니다 는 GNU로 coreutils와 맥 OS로 coreutils 교체.
중요한 경우 bashMac OS X Mountain Lion의 버전은 여전히 3.2입니다. 요즘 대부분의 Linux 배포판은 4.x와 함께 제공되므로 버전 4 기능이 누락됩니다. 현재 Homebrew에서 4.2.45 버전을 임시 해결책으로 사용할 수 있습니다. Mavericks의 버전이 무엇인지 모르겠습니다. 아는 사람이 아직 말할 수 있는지 확실하지 않습니다.
다른 사람들이 언급했듯이 (이미 언급 된 버전 이외) bash동일 bash하지만 Mac OS X은 (주로) BSD 사용자 영역을 사용합니다. 많은 표준 시스템 유틸리티에는 약간 다른 옵션이 있거나 약간 다르게 작동합니다. 불행히도 여기에 나열하기에는 너무 많습니다.
ps와 같이 다른 플래그를 가짐grep). 내 우분투 스크립트가 Mac에서 동일한 출력을 생성하지 않는 이유를 알아 내려고 두 번 벽에 머리를 부딪쳤다.