su - root -c切换到root并获取root的环境变量及执行权限并执行命令


1、su root 和 su - root 的区别

su 默认切到 root,su 与su - 的区别:

  • su 是不改变当前变量
  • su - 是切换到用户的变量
  • su只能获得root的执行权限,不能获得环境变量,而su - 是切换到root并获得root的环境变量及执行权限

2、su - user -c

切换用户只执行一条命令的可以用:su - oracle -c command,-c 是 command的缩写

列如 su - oracle -c “lsnrctl start”,这样的好处就是不用切换到oracle用户下去执行,如果是在脚本中就更方便了。

切换用户执行一个shell文件可以用:su - oracle -s /bin/bash shell.sh

配合EOF使用实现Oracle的自启动

#!/bin/bash

su - oracle <<EOF
lsnrctl start
sqlplus /nolog
conn /as sysdba
startup
exit
EOF

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM