Bash는 C의 로케일별 번역을 에뮬레이트합니까?

Bash는 C의 로케일별 번역을 에뮬레이트합니까?

Bash 매뉴얼에는 다음이 언급되어 있습니다.

3.1.2.5 로케일별 번역

달러 기호('$') 앞에 큰따옴표가 붙은 문자열을 사용하면 해당 문자열이 현재 로케일에 따라 번역됩니다. 현재 로케일이 C 또는 POSIX인 경우 달러 기호는 무시됩니다. 문자열이 번역되어 바뀌면 대체 내용이 큰따옴표로 묶입니다.

문자열 리터럴을 지정하는 이러한 방법이 C 또는 일부 C 라이브러리에 있습니까?

bash는 이런 식으로 C를 모방합니까?

답변1

$"..."Bash의 액세스 방법입니다.GNU 텍스트 가져오기번역하다. C 코드에서는 일반적 gettext("...")으로 또는 입니다 _("..."). Bash는 시스템 기본 메시지 디렉터리를 사용합니다. C 응용 프로그램은 사용하려는 디렉터리를 로드할 수도 있습니다.

구문 $"은 기존 매개변수 확장 구문과 유사한 Bash 확장입니다. 특히 제 생각에는$'ANSI-C 인용문ksh에서 가져온 것입니다.가능한향후 POSIX에 통합될 예정입니다. C 언어는 이 구문 자체를 지원하지 않으며 이와 유사한 구문도 없습니다.

관련 정보