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