source /etc/profile 不起作用?


給Linux配置了環境變量,source /etc/profile 完成之后只在當前用戶下起作用,切換用戶后設置的環境變量竟然沒有生效!重啟后雖然生效了,但是想知道怎么回事。

找到了如下解答:

  假設你的用戶為A, 登錄系統時也登錄為A, 則此時/etc/profile 里面的環境變量直接應用到A用戶,然后打開命令行, 你就可以通過 echo $變量名 (不需要花括號)查到你想要的變量名 (包括/etc/profile 和 /home/A/.bashrc 里面設置的;

sudo su, 登錄為root用戶, 這個時候/etc/profile的環境變量是不會自動加載的(因為沒經歷過開機那段時間的一部分黑箱操作), 那這個時候你只能echo到/home/root/.bashrc里面的變量.
然后說運行腳本, 你要確保的是當前用戶和你腳本的所有者是同一個(同為A 或同為root), 否則需要chmod xxx 腳本名( xxx代表權限程度, 具體改成多少我不懂, 所以都改成放權程度最高的 777), 才能使腳本被不同的用戶調用, 然后就是要關注當前用戶下的.bashrc里面是否有目標變量名, 沒有的話就往相應用戶的.bashrc里面添加. 如果當前用戶是開機登陸的用戶(就是看有沒有自動加載過/etc/profile),那直接就有目標變量。


免責聲明!

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



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