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