bash $HOSTNAMEとtcsh/zsh $HOSTの違い

bash $HOSTNAMEとtcsh/zsh $HOSTの違い

bash$HOSTNAMEの間に違いがzshありますか$HOST

そうでなければ、変数をいつ使用するかをbash選択する歴史的な理由はありますか?$HOSTNAMEtcshzsh$HOST

答え1

答えの一部である変数の内容は次のとおりです。

すべての変数の値は呼び出しから来ます。gethostname(2):

デフォルト値は次のとおりです。

  • tcshunknown
  • bash:??host??
  • zsh: (無効)

興味深いことに、zsh戻り値は確認されません!

答え2

$HOSTNAME1996年12月にリリースされた2.0のbashに追加されました。

変更ログには、1995年8月1日に実装されたと記載されています。

$HOST1991年にリリースされたzsh-2.0に追加されました

tcsh知ってみるとすでに1987年だった。

私は、著者がHOSTNAMEがHOSTよりも良い名前であると考えていると仮定することができますbashbash$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

関連情報