1.安装完oracle后,用终端登录,因为不是直接用oracle用户登录的,所以我就执行
$ su oracle
切换成oracle用户之后,执行“echo $ORACLE_HOME”,结果显示空

原因:如果直接su oracle,
shell会去读取此用户(oracle用户)home目录下的隐藏文件,如果是bash的话,为 .bashrc。我查了oracle用户的 .bashrc没有配置$ORACLE_HOME,/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所说。

oracle安装完成之后,执行sqlplus命令,提示:bash: sqlplus: command not found...的更多相关文章

  1. Centos7 Minni 安装 执行ifconfig命令出现 -bash ifconfig command not found 的解决方法

    1) have a root privilege shell or be on the sudo list. 2a) At a root shell prompt (#) yum install ne ...

  2. Mac系统下安装Homebrew后无法使用brew命令,-bash: brew: command not found

    使用如下命令: sudo vim .bash_profile 然后输入以下代码: export PATH=/usr/local/bin:$PATH 再使用以下命令使配置生效: source .bash ...

  3. 解决 EntityFrameworkCore 执行 Add-Migration命令提示无法识别转义符的错误

    版本.asp.net core 2.0   EntityFrameworkCore2,0,. 之前执行Add-Migration 命令 提示无法识别的转义序列,各种不成功, 解决办法,找到 项目里面的 ...

  4. Oracle安装完成后,如何用命令行启动和关闭数据库?

    Oracle安装完成后,如何用命令行启动和关闭数据库? 解答: 打开:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ dat ...

  5. centos7中运行ifconfig提示-bash: ifconfig: command not found

    centos7中运行ifconfig提示-bash: ifconfig: command not found 查看/sbin/下是否有ifconfig,若没有通过如下命令安装 sudo yum ins ...

  6. Linux下执行ls命令提示CMake Error错误

    一.系统环境 Fedora10 二.出错情况 执行ls命令出现如下错误提示: CMake Error: The source directory "/etc/--color=auto&quo ...

  7. 【转】linux中执行外部命令提示" error while loading shared libraries"时的解决办法

    今天在Centos下编译kapar 后执行时出错,老说: [root@dc01 ~]# kapar kapar: error while loading shared libraries: libsc ...

  8. Ubuntu Server 上在安装Nginx时执行./confgiure后提示:C compiler cc is not found

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  9. 使用pip安装库或执行pip命令时报错解决方案

    初次安装pip后执行安装升级一般不会有问题,但是国外的镜像源下载升级由于网速过慢会进行报错,提示需要升级 pip 或者下载速度很慢最后直接报了错如下图: 这个时候只需要修改镜像源即可,建议修改为永久镜 ...

  10. linux下无法执行PHP命令,错误 php: command not found

    在linux下执行php时无法执行,报错:php: command not found 解决方法: export PATH=$PATH:/usr/local/php7/bin 可以输入echo $PA ...

随机推荐

  1. 25、UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释

    layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————- - (voi ...

  2. 2019.01.04 洛谷P4719 【模板】动态dp(链分治+ddp)

    传送门 ddpddpddp模板题. 题意简述:给你一棵树,支持修改一个点,维护整棵树的最大带权独立集. 思路: 我们考虑如果没有修改怎么做. 貌似就是一个sbsbsb树形dpdpdp,fi,0f_{i ...

  3. mongodb知识积累

    1: 安装mongodb https://www.cnblogs.com/zhangdaicong/p/7492494.html 2:配置文件 vi /etc/mongodb.conf https:/ ...

  4. mysql only_full_group_by报错的问题(转)

    原文:https://www.cnblogs.com/jim2016/p/6322703.html 在mysql 工具 搜索或者插入数据时报下面错误: ERROR 1055 (42000): Expr ...

  5. idea的maven项目不知道为啥下载不下来jar包,看本地仓库只是下载了一下xml文件,没有jar包问题

    确认了私服上的jar包能直接下载下来,而且jar包是正常的:但是就是不能通过idea下载,通过idea下载到本地仓库的只生成了.lastUpdated文件,检查了setting.xml文件.网络,私服 ...

  6. es6函数的新语法

    函数的默认值 function(x,y=10){ //赋予了y就有了默认值为10,如果y赋值了,就回被覆盖,否则就是默认值10 变量已经有默认值了,所以不用再次用let或者const声明啦 }

  7. HTML上传文件支持大文件上传,下载

    上传 1.修改配置文件web.config,在<system.webServer>下面加入 <security> <requestFiltering > <r ...

  8. 15-BOM

    BOM的介绍 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的 ...

  9. iptables简单应用

    可以修改/etc/rc.d/boot.local让规则重启后也能生效,如: /sbin/iptables -F /sbin/iptables -A INPUT -i eth0 -p tcp --spo ...

  10. Spring的下载与安装

    Spring是一个独立的框架,不依赖于任何Web服务器或容器.它既可在独立的JavaSE项目中使用,也可以在Java Web项目中使用. 下载和安装Spring框架可按如下步骤进行: 1.登录http ...