プロンプト文字列のホスト名は「localhost」です。

プロンプト文字列のホスト名は「localhost」です。

プロンプトを私が使用しているホスト名に変更しようとしています(Aidan)。 PS1=“\h \d \u]"

これを使用すると、「localhost」に変更されます。私が間違っていることを知っている人はいますか? GECOSフィールドにフルネームを持つユーザーを作成しました。

答え1

GECOSフィールドでユーザーの本名を取得するには、手動でインポートする必要があるようです。少なくともBashではこれを自動化する方法がないと思います。

だから、

gecos=$(getent passwd $USER | cut -d: -f5 | cut -d, -f1)
PS1='$gecos ... \$ '

答え2

/etc/hostnameの内容をホストの実際の名前に変更して再起動する必要があります。 "hostname"コマンド(rootとしてログインしている場合)を使用して現在のセッションのホスト名を変更できますが、/ etc / hostnameを更新していない場合、変更は次回の再起動時に失われます。

関連情報