Bash 매뉴얼에는 다음이 언급되어 있습니다.
3.1.2.5 로케일별 번역
달러 기호('$') 앞에 큰따옴표가 붙은 문자열을 사용하면 해당 문자열이 현재 로케일에 따라 번역됩니다. 현재 로케일이 C 또는 POSIX인 경우 달러 기호는 무시됩니다. 문자열이 번역되어 바뀌면 대체 내용이 큰따옴표로 묶입니다.
문자열 리터럴을 지정하는 이러한 방법이 C 또는 일부 C 라이브러리에 있습니까?
bash는 이런 식으로 C를 모방합니까?
답변1
$"..."
Bash의 액세스 방법입니다.GNU 텍스트 가져오기번역하다. C 코드에서는 일반적 gettext("...")
으로 또는 입니다 _("...")
. Bash는 시스템 기본 메시지 디렉터리를 사용합니다. C 응용 프로그램은 사용하려는 디렉터리를 로드할 수도 있습니다.
구문 $"
은 기존 매개변수 확장 구문과 유사한 Bash 확장입니다. 특히 제 생각에는$'
ANSI-C 인용문ksh에서 가져온 것입니다.가능한향후 POSIX에 통합될 예정입니다. C 언어는 이 구문 자체를 지원하지 않으며 이와 유사한 구문도 없습니다.