연결

연결

사용자 지정 호출기를 실행하려는 응용 프로그램을 작성 중입니다. 이를 수행하는 표준 방법은 환경 변수를 살펴보는 것 같습니다 PAGER.

이것이 프로그램 이름인지 아니면 인수와 함께 프로그램 이름인지 확실하지 않습니다. 나는 이것을 언급하는 표준을 찾으려고 노력했지만 찾을 수 없었습니다.

내 직감은 공간을 나누어 실행해야한다는 것입니다. 나 맞아? 나는 환경 변수가 없는 프로그램 이름 $PAGER과 같은 환경 변수를 가정하는 다양한 프로그램을 접했습니다 .$EDITOR

그래도 대신 에 실행해야 할까요 sh?

연결

답변1

내 직감은 공간을 나누어 실행해야한다는 것입니다.

좋은 본능. 당신이 전화하고 있어요간부(삼); 지원하는 환경 변수를 해석하는 방법은 귀하에게 달려 있습니다. 옵션을 지원하면 사용자가 스크립트를 작성하여 단일 $PAGER 이름에 집어넣는 수고를 덜 수 있습니다.

따라야 할 좋은 예는 다음과 같습니다.남성(1). 내 시스템에서는 MANPAGER를 지원합니다.

MANPAGER가 설정된 경우 해당 값은 매뉴얼 페이지를 표시하는 데 사용할 프로그램 이름으로 사용됩니다. 그렇지 않은 경우 PAGER가 사용됩니다. 그것도 가치가 없다면,/usr/bin/less -is사용.

이는 적어도 PAGER에 옵션이 포함될 수 있음을 의미합니다. 당신은 당신의 것을 실험해 볼 수도 있습니다. 그럴 것 같아요.

나는 Posix가 유틸리티를 나타내는 환경 변수가 어떻게 해석되는지에 대한 문제를 다루지 않는다고 생각합니다. 나는 당신이 가지고 있는 가장 좋은 것은 선행 기술의 일반적인 예라고 생각합니다.

"the" 셸을 통해 전달할지 여부에 대해서는 셸 변수 확장을 활용하고 문서화하려는 경우가 아니면 아니요라고 말하고 싶습니다. 껍질을 제거하는 것이 더 간단하고 예측 가능합니다.

관련 정보