現象,我在/etc/profile裡設定全域性**,然後使用命令
1、curl 走**
2、sudo curl 並沒有走**
使用env和sudo env檢視環境變數,發現**設定只存在於env裡,sudo env裡並沒有**的資訊
那麼如何使用sudo的時候,把環境變數也帶進去呢?
方法一、
在/etc/sudoers
中新增以下內容作用相同:
defaults !env_reset方法二、
可以把需要傳遞環境變數的命令設定到env_keep
:
defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"可以看到sudo pip和pip環境變數是不同的
當前使用者的命令別名不會應用到sudo。如果需要這樣,只需在~/.bashrc
或者/etc/bash.bashrc
中加入:
alias sudo='sudo '參考:
1、2、簡體中文%29
3、
sudo命令保持環境變數
如果你裝了多個版本的python,比如 anaconda下的python3.5,原生自帶python2.7,那麼你在anaconda環境下執行sudo python和python所使用的python版本是不同的。sudo在切換成root使用者的時候,env並不會去保留這些環境變數,需要特別的指明才可...
如何執行sudo命令時保留當前使用者env變數
在linux環境中我們經常使用sudo命令執行root許可權,但預設情況下sudo執行時,會預設重置環境變數為安全的環境變數,也即,但前設定的變數都會失效。可以通過如下設定來取消這種設定 1 編輯sudoers檔案 vim etc sudoers 注釋掉 defaults env reset def...
如何執行sudo命令時保留當前使用者env變數
在linux環境中我們經常使用sudo命令執行root許可權,但預設情況下sudo執行時,會預設重置環境變數為安全的環境變數,也即,但前設定的變數都會失效。可以通過如下設定來取消這種設定 1 編輯sudoers檔案 vim etc sudoers 注釋掉 defaults env reset def...