shell切换用户执行后面语句 su与su -的区别
发布日期:2022-03-23 19:33 | 文章来源:站长之家
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的原因
可以用下面的语句
复制代码
代码如下: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的原因
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章