通常在執行自動化過程中可能需要將root用戶切換到其他用戶進行執行,如:oralce
但是,執行的命令又要回到root用戶下,繼續執行root用戶下的其他命令。
此時需要了解 su 命令中的參數 -c 或 -s
比如:
# su - oracle -c "pwd"
/home/oracle
或
su - oracle -s /bin/sh test.sh
此時執行的test.sh中相關命令要在bin/sh下,換句話說,bin/sh支持的命令才能執行。
當然我們可以將結果重定向到其他的文件中,執行后對文件再次進行分析,找到我們自動化執行的所需結果。
當然我們可以編輯一個shell腳本進行用戶切換的執行。
如:vi test.sh輸入下面內容后
#!/bin/bash
su - test <<EOF
pwd;
exit;
EOF
按[Esc]鍵,輸入:wq,回車保存退出。
之后chmod 777 test.sh
執行:sh test.sh 或 . test.sh 或 ./test.sh
OK!問題得以解決。
