赞
踩
oracle安装完成之后,执行sqlplus命令,提示:bash: sqlplus: command not found…
1.安装完oracle后,用终端登录,因为不是直接用oracle用户登录的,所以我就执行
$ su oracle
切换成oracle用户之后,执行“echo $ORACLE_HOME”,结果显示空
原因:如果直接su oracle,
shell会去读取此用户(oracle用户)home目录下的隐藏文件,如果是bash的话,为 .bashrc。我查了oracle用户的 .bashrc没有配置
O
R
A
C
L
E
H
O
M
E
,
/
e
t
c
/
b
a
s
h
r
c
也
没
有
配
置
ORACLE_HOME,/etc/bashrc也没有配置
ORACLEHOME,/etc/bashrc也没有配置ORACLE_HOME,读取出来就是空。
我用oracle用户登录linux,执行“echo $ORACLE_HOME”,结果显示就不为空了。
下面是.bashrc文件和profile文件的一些简单介绍:
linux给大家提供了自动设置环境变量的方法,那就是修改 .bashrc 文件。一般说来,有两个文件可以提供这种“进入系统时自动设置”的功能,一个是 /etc/bashrc,另一个是 /.bashrc。其中/etc/bashrc是被每个用户执行的,而/.bashrc只被当前用户执行。所以/etc/bashrc只有root用户能更改,而~/.bashrc是各个用户私有的文件。 "~"指的是用户的home目录。
这样,各个用户有自己独立的".bashrc"文件,可以根据需要自行更改,而不会互相干扰。 /etc/bashrc文件则是共享的,整个Linux中只有一份。一般来说,用户的"~/.bashrc"开头都会调用/etc/bashrc,因此更改/etc/bashrc会影响到所有用户,这个文件一般是root用户管理的。
提问:Linux系统中/etc/profile与/etc/bashfile文件作用的区别?
(1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。他是为用户定制系统定制环境变量。
(2)/etc/bashrc: 是为每一个bash shell的用户定制环境变量,当bash shell被打开时,该文件被读取。~/bashrc是为某个bash shell用户定制环境变量
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
2.oracle安装完成之后,用普通用户登录终端,再用su命令切换到oracle用户,执行sqlplus命令,提示:bash: sqlplus: command not found…
原因同1所示。直接用oracle用户登录,就能识别sqlplus命令了。
另外注意一点:不要以为root命令能识别所有命令,例如root用户就不能识别这个sqlplus,原因也一样的。
3.oracle安装完成之后,用普通用户登录终端,再用su命令切换到oracle用户,执行lsnrctl命令,同样提示:bash: lsnrctl: command not found…
原因也如1所说。
》》若涉及文章转载授权,请及时告知本人修改删除。
转载:https://www.cnblogs.com/VIPler/p/6838151.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。