내가 읽고있다cd 명령에 대한 POSIX 매뉴얼. 나는 매뉴얼의 "curpath"가 현재 경로 등을 의미한다고 추측했지만 전체 문서를 이해하는 방법은 여전히 불분명합니다. 아래는 설명입니다.
다음 단계에서 기호는코파스사용된 알고리즘의 설명을 단순화하기 위한 중간 값을 나타냅니다
cd
. 요구 사항 없음코파스애플리케이션에 표시됩니다.
나에게 이 설명에서 가장 불분명한 부분은 "중간 가치"입니다. 누군가 "curpath"와 "중간 가치"에 대한 몇 가지 예를 들어줄 수 있습니까?
답변1
이것페이지cd
POSIX 표준을 준수하기 위해 구현이 따라야 하는 단계에 대한 설명이 포함되어 있습니다. curpath
"임시 변수"와 같습니다. 처음에 정의되고 더미 값이 할당되었다고 가정합니다. 다음 단계에서는 해당 값을 수정하고 최종적으로 curpath
처리 결과를 저장할 수 있습니다. 10단계에서 chdir()
시스템 함수가 매개변수를 사용하여 최종적으로 호출되는 것을 볼 수 있습니다 curpath
. 이 최종 값만 외부 세계에 표시되면 됩니다.
따라서 애플리케이션에 표시될 필요가 없는 중간 값입니다. 즉, 알 필요가 없는 임시 값이 없거나 curpath
단계를 정확하게 실행해야 한다는 의미입니다. 이는 구현 방법에 대한 설명입니다. 일하다. 요구 사항은 cd
이를 구현하는 프로그램이 전체 입력 공간에 대해 알고리즘을 수동으로 따를 때 얻을 수 있는 것과 동일한 최종 결과를 제공해야 한다는 것입니다.
예, 고유한 입력 사례를 따르는 방법:
- 나는 내 홈 디렉토리(
PWD=/home/user
)에 있었고 다음을 입력했습니다.cd ..
- 1단계: 조건이 거짓입니다.목차(인수) 제공.
- 2단계: 조건이 거짓입니다.
- 3단계: 조건이 거짓이고 슬래시로 시작하지 않습니다.
- 4단계: 올바른 지점부터 시작하여 6단계로 이동합니다.
- 6단계:
curpath=..
- 7단계: 로 시작하지 않는
/
경우curpath=/home/user/..
- 8단계: 끝까지 계속됩니다.
이 작업을 수행하는 코드 블록 외부의 사람은 이러한 임시 curpath
값을 볼 필요가 없습니다.