shell切换用户执行后面语句 su与su 的区别是什么

系统运维

这篇文章主要介绍“shell切换用户执行后面语句 su与su 的区别是什么”,在日常操作中,相信很多人在shell切换用户执行后面语句 su与su 的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell切换用户执行后面语句 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的原因

到此,关于“shell切换用户执行后面语句 su与su 的区别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注新网,小编会继续努力为大家带来更多实用的文章!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注