linux sudo 運行找不到java、python命令


 

在Ubuntu環境中安裝好Java環境后設置環境變量:在/etc/profile中設置好了JAVA_HOME變量並引入到PATH中,

由於Ubuntu默認是不以root用戶登錄的,這時echo $PATH可以看到JAVA_HOME已經被設置好了,java命令也可以執行。

接下來sudo 運行shell腳本,提示找不到java命令,$PATH中也找不到JAVA_HOME這個路徑了。

查了很久的資料也沒有找到原因,后來偶然切換用戶的時候用了su - root命令,這時又可以找到JAVA_HOME這個變量了。

對比了一下sudo和su - 這兩個命令的差別才明白:sudo是切換用戶存取權限,但是沒有獲得環境變量,所以PATH沒有被帶入;su - root是完全的切換用戶,可以獲得環境變量,所以可以找到JAVA_HOME。
---------------------




免責聲明!

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



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