[root@localhost ~]# su - es
bash-4.2$ ls -a
此时es用户目录下没有.bash_profile
,那么问题就找到了,就是缺少用户环境配置文件,那么为什么需要这样文件,这就是跟linux的机制有关联了,因为在linux下每次通过useradd
创建新的用户时,都会将所有的配置文件从/etc/skel
复制到新用户的主目录下,一般默认在home
下面的新用户主目录,而关于/etc/skel
这个目录,是主要被useradd
所用到。
通过如上的解析,我们不难发现要解决命令在用户切换之后为什么会变成bash
格式,就需要将`/etc/skel的用户环境配置文件复制到指定的默认目录下即可,如下所示:
解决方法:
cp -a /etc/skel/. /home/xx
此时的命令行就正常了。