您的位置:首页 > 运维架构 > Linux

Linux:-bash-4.2# 解决

2020-08-03 15:13 369 查看

某天登录突然发现熟悉的

[root@hostname ~]

变成了

-bash-4.2

登录后发现此用户的终端提示符显示的是-bash-4.2# 而不是user@主机名 + 路径的显示方式,原因是在用useradd添加普通用户时,有时会丢失家目录下的环境变量文件,丢失文件如下:
.bash_profile
.bashrc
以上这些文件是每个用户都必备的文件。
此时可以使用以下命令从主默认文件/etc/skel/下重新拷贝一份配置信息到此用户家目录下

cp /etc/skel/.bashrc  /home/user/
cp /etc/skel/.bash_profile   /home/user

注销并重新登录此用户后便可以恢复正常

扩展:

修改执行完命令之后显示的内容
默认: [root@localhost ~]#
set可以看到PS1这个变量,默认是PS1=’[\u@\h \W]$ ’

可以根据以下的内容去定制自己的内容:

\d :可显示出『星期月日』的日期格式,如:"Mon Feb 2"
\H :完整的主机名称。举例来说,鸟哥的练习机为『study.centos.vbird』
\h :仅取主机名称在第一个小数点之前的名字,如鸟哥主机则为『study』后面省略
\t :显示时间,为24 小时格式的『HH:MM:SS』
\T :显示时间,为12 小时格式的『HH:MM:SS』
\A :显示时间,为24 小时格式的『HH:MM』
\@ :显示时间,为12 小时格式的『am/pm』样式
\u :目前使用者的帐号名称,如『dmtsai』;
\v :BASH 的版本资讯,如鸟哥的测试主机版本为4.2.46(1)-release,仅取『4.2』显示
\w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以~ 取代;
\W :利用basename 函数取得工作目录名称,所以仅会列出最后一个目录名。
\# :下达的第几个指令。
\$ :提示字符,如果是root 时,提示字元为# ,否则就是$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: