shell腳本中切換用戶執行相應的命令或者shell腳本的方法


通常在執行自動化過程中可能需要將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!問題得以解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM