当前位置: 首页 > 工具软件 > Bash-it > 使用案例 >

linux出现bash什么意思,Linux下为啥会出现 -bash-3.2$

黄向明
2023-12-01

-bash-3.2$

先根据oracle的基本安装步骤来,如下命令:

[root@localhost ~]# groupadd oinstall

[root@localhost ~]# groupadd dba

[root@localhost ~]# cd /

[root@localhost /]# mkdir -p /u01/oracle

[root@localhost /]# useradd -g oinstall -G dba -d /u01/oracle oracle

[root@localhost ~]# passwd oracle

Changing password for user oracle.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]# su - oracle

-bash-3.2$ :

这个时候我发现在oracle切换用户之后就出现了-bash-3.2$ :,这表明什么呢,也就是说缺少bash的环境配置,这里需要注意的是当我在创建oracle用户时,是改变了oracle的默认指定目录,useradd -g oinstall -G dba -d /u01/oracle oracle,也就是说如果没有改变这个目录的话,通常情况下,新增用户默认指定目录应该是/home/oracle/,在看看默认目录下有哪些文件,我们来看看root,如下所示:

[root@localhost ~]# ll -a

total 2562348

drwxr-x--- 14 root root       4096 Feb 15 18:06 .

drwxr-xr-x 24 root root       4096 Feb 15 21:28 ..

-rw-------  1 root root       1224 Feb 15 21:26 .bash_history

-rw-r--r--  1 root root         24 Jan  6  2007 .bash_logout

-rw-r--r--  1 root root        191 Jan  6  2007 .bash_profile

-rw-r--r--  1 root root        176 Jan  6  2007 .bashrc

-rw-r--r--  1 root root        100 Jan  6  2007 .cshrc

再来看oracle更改后的默认目录下,如下所示:

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ ls -a

此时该目录下为空,那么问题就找到了,就是缺少用户环境配置文件,,那么为什么需要这样文件,这就是跟linux的机制有关联了,因为在linux下每次通过useradd创建新的用户时,都会将所有的配置文件从/etc/skel复制到新用户的主目录下,一般默认在home下面的新用户主目录,而关于/etc/skel这个目录,是主要被useradd所用到。

通过如上的解析,我们不难发现要解决命令在用户切换之后为什么会变成bash格式,就需要将 /etc/skel的用户环境配置文件复制到指定的默认目录下即可,如下所示:

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ ls -a

.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc

[oracle@localhost ~]$

此时的命令行就正常了。

 类似资料: