bash $HOSTNAME과 tcsh/zsh $HOST의 차이점

bash $HOSTNAME과 tcsh/zsh $HOST의 차이점

bash$HOSTNAME사이에 차이가 zsh있나요 $HOST?

그렇지 않다면 변수를 언제 사용할지 bash선택하는 역사적 이유가 있습니까 ?$HOSTNAMEtcshzsh$HOST

답변1

답변의 일부인 변수 내용은 다음과 같습니다.

모든 변수의 값은 호출에서 나옵니다.gethostname(2):

기본값은 다음과 같습니다.

  • tcsh: unknown.
  • bash:??host??
  • zsh: (유효하지 않은)

흥미롭게도 zsh반환 값은 확인되지 않습니다!

답변2

$HOSTNAME1996년 12월에 출시된 2.0의 bash에 추가되었습니다..

변경 로그에는 1995년 8월 1일에 구현되었다고 나와 있습니다.

$HOST1991년에 출시된 zsh-2.0에 추가됨.

tcsh알고 보니 이미 1987년 이었다 ..

나는 저자가 HOSTNAME이 HOST보다 더 나은 이름이라고 생각했다고 가정할 수 있으며, 변수(예: )가 1990년 bash 1.05에서 훨씬 일찍 추가되었다는 점을 고려하면 bash그들의 관점을 이해할 수 있습니다.bash$HOSTTYPEtcsh

$HOSTTYPE그 자체로 훨씬 더 뒤틀린 역사를 가지고 있는 것 같습니다.

tcsh 6.05(1994년 6월) 릴리스 노트에서 다음을 볼 수 있습니다:

  • $HOSTTYPE이 곧 사라질 것입니다. 새로운 변수 $OSTYPE, $MACHTYPE, $VENDOR는 gnu 변수와 유사합니다.

무엇에 대한 모호함을 제거하는 것유형HOST우리는 변수 이름에 대해 이야기하고 있습니다.

그러나 $HOSTTYPE결국 그는 떠나지 않았다 tcsh.

bash1.14.0은 1994년 6월에 도입되었지만 2.0 이전에는 추가되지 않았고 추가된 적이 없으므로 무엇인지 잘 모르겠습니다 $OSTYPE.$MACHTYPE$VENDORbash그누위 내용을 참조합니다.

zsh원래는 거기에 있었지만 $HOSTTYPE1995년에 zsh-2.6-beta에서 제거되고 $OSTYPE, $MACHTYPE로 대체 되었습니다 $VENDOR.

bash어쨌든 노트북 amd64 PC에서 실행되는 Ubuntu GNU/Linux 시스템을 살펴보면 이러한 변수의 값은 셸마다 크게 다르며 버전 간에도 의미도 크게 달라지는 것처럼 보입니다 .

bash호스트 이름이 있는 /prompt 확장자(첫 번째 점 앞 부분)에서 벗어나 tcsh반대(동등)를 선택하기 로 결정했음을 알 수 있습니다 .zsh%M%m\h%m

관련 정보