Linux下shell显示用户名和主机名

文章作者:Tyan
博客:noahsnail.com|CSDN|
1. 问题描述 最近在服务器上重新安装了一点东西,结果登录的shell界面变成了显示-bash-4.2$,显得很丑而且使用起来十分不方便,主要是scp时需要用户名和主机名,因此对其进行了修改。
2. 解决方案 修改当前用户的.bash_profile文件,在其中加入:

export PS1='[\u@\h \W]$ '

【Linux下shell显示用户名和主机名】source .bash_profile,OK,问题解决。
3. 解释 PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。\u等是特殊字符,可以通过man bash命令查看,其意义如下:
\aan ASCII bell character (07) \dthe date in "Weekday Month Date" format (e.g., "Tue May 26") \D{format} the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation.The braces are required \ean ASCII escape character (033) \hthe hostname up to the first `.' \Hthe hostname \jthe number of jobs currently managed by the shell \lthe basename of the shell's terminal device name \nnewline \rcarriage return \sthe name of the shell, the basename of $0 (the portion following the final slash) \tthe current time in 24-hour HH:MM:SS format \Tthe current time in 12-hour HH:MM:SS format \@the current time in 12-hour am/pm format \Athe current time in 24-hour HH:MM format \uthe username of the current user \vthe version of bash (e.g., 2.00) \Vthe release of bash, version + patch level (e.g., 2.00.0) \wthe current working directory, with $HOME abbreviated with a tilde (uses the value of the PROMPT_DIRTRIM variable) \Wthe basename of the current working directory, with $HOME abbreviated with a tilde \!the history number of this command \#the command number of this command \$if the effective UID is 0, a #, otherwise a $ \nnnthe character corresponding to the octal number nnn \\a backslash \[begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt \]end a sequence of non-printing characters

部分特殊字符解释如下:
\u 当前用户的用户名 \h 用.分开的第一个主机名 \H 完整的主机名 \W 当前工作目录的目录名,只显示路径的最后一个目录 \w 当前工作目录的目录名,显示全路径

    推荐阅读