Chapter 8 of POSIX standard "널리 사용되는 명령 해석기 및 응용 프로그램에서 자주 내보내지는"일반적으로 사용되는 환경 변수의 목록을 정의합니다.어떤 C 헤더가 공통 변수 이름 (PATH, HOME, IFS ...)을 정의합니까?
그러나 어떤 유닉스 계열 시스템에서도 이름을 제공하는 C 헤더를 찾을 수 없습니다. 나는 그런 헤더를 찾을 수 있습니다
#define ENV_PATH "PATH"
#define ENV_USER "USER"
#define ENV_IFS "IFS"
...
:
내가 좋아하는 뭔가를 찾고 있어요? 모든 OS 관련 헤더가 작동합니다. 저는 상수에 대한 이름을 직접 작성하고 싶지 않습니다.
편집 만 주류 운영 체제를 사용하는 경우
, 당신은 요청할 수 있습니다 을 여기에 상수를 사용하려는 이유는 무엇입니까? $ PATH는 항상 $ PATH입니다!
이것은 사실이 아닙니다.
Plan 9 from Bell Labs에서 환경 변수는 대개 소문자입니다 (분명히 aesthetics).
Plan 9에서 파생 된 새로운 운영 체제 인 Jehanne에서 POSIX 도구의 통합을 쉽게하기 위해이 디자인 선택을 재고하고 있습니다. 그러나 소문자 환경 변수를 좋아하기 때문에 Jehanne이 "하나의 진정한 운영 체제"가 될 때 소문자 이름으로 쉽게 전환 할 수 있기를 바랍니다 .-D
POSIX에는 물론 (특히) C에서도 이러한 표준 헤더가 없습니다. –
아마도 programm의 시작 부분에 env 변수 이름을 얻으려고합니까? 'void main (int ac, char ** av, char ** env)'그런 다음 Path, User 및 IFS에서 루프 처리합니다. – pierreafranck
왜 2자를 더 입력 하시겠습니까? PATH는 항상 PATH입니다. 변경은 결코 작동하지 않으므로이를 정의하는 데 아무런 의미가 없습니다. – Art