加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

shell切换用户执行后面语句,su与su -的差异

发布时间:2021-12-13 12:41:39 所属栏目:PHP教程 来源:互联网
导读:shell里如果需要切换用户,然后以指定用户的身份运行一些命令,比如需要用Oracle用户向.bash_profile文件里写入一行ORACLE_BASE=/oracle/app的内容 可以用下面的语句 su - oracle ! echo ORACLE_BASE=/oracle/app .bash_profile exit ! 关于su和su -的区别

shell里如果需要切换用户,然后以指定用户的身份运行一些命令,比如需要用Oracle用户向.bash_profile文件里写入一行“ORACLE_BASE=/oracle/app”的内容
 
可以用下面的语句
 
su - oracle <<!
 
echo "ORACLE_BASE=/oracle/app" >> .bash_profile
 
exit
 
!
 
关于su和su -的区别
 
切换用户是可以使用su tom或者su - tom来实现,但是两者有区别
 
su只是切换身份,但shell环境仍然是原用户的shell
 
su -是连用户的shell环境一起切换
 
切换了shell环境,PATH的环境变量才有效
 
举例子:
 
比如说 root用户在/root/目录下, su tom,
 
切换到了tom 用户,但是目录仍然在/root/下。
 
如果使用su - tom
 
你可以发现目录也切换到tom用户的家目录下
 
这也是造成一些命令报错:command not found的原因

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读