论Linux环境下切换用户时缺一个“-”所带来的影响

前言

笔者主要是在之前搭建好的虚拟环境(CentOS7+Oracle)中进行,不久前就用过SQLPLUS登录Oracle,但近期我再尝试时就总报错“bash:sqlplus找不到命令”,于是有了下面的故事。

曲折过程

一、确认环境变量是否配置

root下 使用su oracle切换到oracle用户,然后cd ~,vi  .bash_profile查看prifile文件中环境变量的配置,后来又查看了oracle的安装目录,对比发现没啥毛病。这下我就犯难了,环境变量没得问题,那这是为啥捏?

二、尝试使用cp命令,将oracle安装目录下的bin/sqlplus拷贝到/bin目录下

后来,在各位网友的加持下,发现一种解决方案:使用cp命令,将oracle安装目录下的sqlplus命令拷贝到/bin目录下,因为Linux很多命令都是在这个目录下直接调用的。所以我也如法炮制:

cp /data/oracle/product/11.2.0/db_1/bin/sqlplus /bin

然鹅,这个时候报错:莫得权限创建目录 。所以我又去搞权限的问题,后来发现是我肤浅了。

三、峰回路转

终于,看到了一篇文章说是因为:切换用户的时候出现了问题。

su  oracle和su - oracle的区别:
(1)su oracle 登录环境未改变,还是刚登录的root账户环境,我的root账户下并没有安装sqlplus;
(2)su - oracle  可将登录环境切换到oracle账户下。

后来,尝试了一波:

 

哦豁,可以了。

来一波总结

追根究底,还是因为没有注意细节:因为少打了一个“-”, 就导致......。

细节或许不能决定成败,但是它一定能为你节省很多时间,避免你少走很多弯路。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值