Debian類系統環境變數的配置

2022-07-21 20:45:17 字數 1742 閱讀 7684

1)/etc/profile

全域性(公有)配置,不管是哪個使用者,登入時都會讀取該檔案。

2)/ect/bashrc

ubuntu沒有此檔案,與之對應的是/ect/bash.bashrc

它也是全域性(公有)的

bash執行時,不管是何種方式,都會讀取此檔案。

3)~/.profile

若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

另外,圖形模式登入時,此檔案將被讀取,即使存在~/.bash_profile和~/.bash_login。

4)~/.bash_login

若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

5)~/.bash_profile

unbutu預設沒有此檔案,可新建。

只有bash是以login形式執行時,才會讀取此檔案。通常該配置檔案還會配置成去讀取~/.bashrc。

6)~/.bashrc

當bash是以non-login形式執行時,讀取此檔案。若是以login形式執行,則不會讀取此檔案。

7)~/.bash_logout

登出時,且是longin形式,此檔案才會讀取。也就是說,在文字模式登出時,此檔案會被讀取,圖形模式登出時,此檔案不會被讀取。

下面是在本機的幾個例子:

1)圖形模式登入時,順序讀取:/etc/profile和~/.profile

2)圖形模式登入後,開啟終端時,順序讀取:/etc/bash.bashrc和~/.bashrc

3)文字模式登入時,順序讀取:/etc/bash.bashrc,/etc/profile和~/.bash_profile

4)從其它使用者su到該使用者,則分兩種情況:

5)登出時,或退出su登入的使用者,如果是longin方式,那麼bash會讀取:~/.bash_logout

6)執行自定義的shell檔案時,若使用「bash -l a.sh」的方式,則bash會讀取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(這個不屬於bash shell),則不會讀取上面的任何檔案。

7)上面的例子凡是讀取到~/.bash_profile的,若該檔案不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

有些命令在定義了path的情況下,普通使用者可以呼叫而加上sudo卻呼叫不了,報command not found的錯誤。

原因是系統在編譯sudo的時候加入了–with-secure-path,這個選項。

–with-secure-path[=path]

要解決這個問題有幾種方法:

1)重新編譯sudo,不加–with-secure-path選項

2)執行命令時使用絕對路徑

如:sudo /home/test/code/go/bin/dlv

3)在環境配置檔案裡加乙個alias【推薦】

例如在/etc/bash.bashrc裡新增:alias sudo='sudo env path=$path:/usr/local/sbin:/sbin'

我們可以在root許可權下先檢視一下path和當前使用者path的區別,然後再追加路徑。

重新登入後生效,這樣我們在執行sudo dlv命令時就等於sudo env path=$path dlv

Debian下環境變數設定

linux下的環境變數分為系統級別和使用者級別。系統級別的會影響所有系統使用者,而使用者級別的只會影響某個單獨使用者。這種分級別的設定是很好的一種系統架構,不確定windows下是不是也有類似的機制。env顯示系統級別環境變數 set顯示使用者級別環境變數 set 變數名稱,設定使用者級別環境變數 ...

Debian下環境變數設定

linux下的環境變數分為系統級別和使用者級別。系統級別的會影響所有系統使用者,而使用者級別的只會影響某個單獨使用者。這種分級別的設定是很好的一種系統架構,不確定windows下是不是也有類似的機制。env顯示系統級別環境變數 set顯示使用者級別環境變數 set 變數名稱,設定使用者級別環境變數 ...

chromedriver路徑和環境變數配置問題

下面說一下我遇到的問題和解決過程 1 問題 我是用python selenium 我的chrome版本是65.0.3325.181,用selenium中的webdriver時,可以開啟瀏覽器,但是輸入文字,點選等一些操作會報如下的錯誤。這個錯誤的意思就是chromedriver版本和chrome版本...