경로가 지정되지 않은 경우 cd $HOME으로 구성된 cd 명령은 어디에 있습니까?

경로가 지정되지 않은 경우 cd $HOME으로 구성된 cd 명령은 어디에 있습니까?

다음 명령은 동일한 작업을 수행합니다.

  • $ cd
  • $ cd $HOME
  • $ cd ~
  • $ cd /home/user

그 중 3개의 경로는 상대적으로 지정되어 있습니다. 그러나 단순히 cd사용자의 홈 디렉토리를 여는 방법과 이유는 무엇입니까 ?

답변1

이는 문서화된 동작입니다.POSIX 표준:

  1. 디렉토리 피연산자가 지정되지 않고 HOME 환경 변수가 널이 아닌 값으로 설정된 경우 cd 유틸리티는 HOME 환경 변수에 지정된 디렉토리가 디렉토리 피연산자로 지정된 것처럼 작동해야 합니다.

답변2

이 기능은 다음에서 제공됩니다.본 쉘이 시간은버전 7 유닉스1979. 이 시스템에서는 다음 HOME과 같이 기록됩니다."명령의 기본 매개변수(홈 디렉터리) cd". Bourne Shell의 전신(톰슨 쉘인수 없이 사용하면 오류 메시지만 인쇄됩니다 chdir(Bourne 쉘에서는 명령 이름도 로 줄입니다 cd).

이것을 선택할 수 있는 권위 있는 출처가 없습니다. 그런데 왜 안 됩니까? cd인수가 없으면 아무 쓸모가 없으며 홈 디렉터리는 사용자가 자주 돌아가야 하는 디렉터리입니다. 구문 ~이 아직 존재하지 않았 cd으므로 cd $HOME.

Linux 시스템에는 일반적으로 매뉴얼 페이지가 없습니다.쉘 내장 명령으로만 사용할 수 있는 명령. 각 쉘의 매뉴얼에 문서화되어 있습니다.

관련 정보