linux用戶source .bashrc或.profile找不到檔案怎麼解決
linux用戶source .bashrc或.profile找不到檔案
之前在debian遇到這種情況,新增加的用戶,每次登入的路徑都顯示sh-42$必須su - 使用者名稱才能恢復正常,且使用者目錄下的.bashrc和其他的設定檔都沒有辦法source,導致一系列問題。
如果是這種情況,極有可能是linux的預設啟動shell不正確,su切換成超級用戶,vi /etc/passwd查看用戶對應的啟動shell,對比其他正常的用戶的啟動shell ,如果不一樣則修改成相同即可。 。
例如其他正常使用者的shell為/bin/bash ,異常使用者對應的shell是/bin/sh,則將其改為/bin/bash。
Linux .bashrc .bash_profile 和.profile之間的區別
1 概述
bash shell使用一些啟動檔案去設定環境變量,這些啟動檔案為shell本身和系統使用者確定某些bash shell配置,在本文中,我們將了解.bashrc .bash-profile 和.profile之間的差異。
2 互動式和非互動式shell
Bash在互動式shell中提供了兩個模式選項,登入和非登入(login and non-login) 。
當我們使用ssh登入系統時,我們得到一個互動式登入的shell (interactive login shell),這個shell在被呼叫時會讀取啟動檔。
然而,當我們在一個已經登入的shell上呼叫一個新的shell時,我們得到的是一個互動的、非登入的shell。這個shell只執行.bashrc檔案
當shell不需要任何人類幹預即可執行指令時,我們稱之為非互動式shell (non-interactive shell)。例如,當腳本產生子shell來執行命令時,子shell是非互動式shell,子shell不會執行任何啟動文件,它從創建它的shell中繼承了環境變數。
3 bash啟動檔案
啟動檔案包含shell啟動時需要執行的指令。因此,shell會自動執行這些啟動檔案中的指令來設定shell。這個過程發生在顯示命令提示字元之前。
3.1 .bash_profile 的意義
.bash_profile檔案包含用於設定環境變數的命令,因此shell將繼承這些變數。
在互動式登入shell中,bash先找 /etc/profile 檔案。如果找到,bash將在目前shell中讀取並執行它。結果是 /etc/profile為所有使用者設定環境配置
類似地,bash接著檢查主目錄(cd ~ 進入的目錄為主目錄)中是否存在 .bash_profile。如果存在,則bash在目前shell中執行 .bash_profile,Bash然後停止尋找其他文件,如 .bash_login 和 .profile。
如果bash沒有找到 .bash_profile,那麼它將依照順序尋找 .bash_login 和 .profile,並且只執行第一個可讀的檔案。
讓我們研究一個範例 .bash_profile檔。這裡我們重新設定並導出PATH變數
echo "Bash_profile execution starts.." PATH=$PATH:$HOME/bin; export PATH; echo "Bash_profile execution stops.."
在互動式登入shell的命令提示字元之前,我們將看到下面的輸出
Bash_profile execution starts.. Bash_profile execution stops.. [example@example ~]$
3.2 .bashrc 的意義
.bashrc包含特定於bash shell的指令。每個互動式非登入shell首先讀取 .bashrc,通常,.bashrc是添加別名和bash相關功能的最佳場所。
bash shell在主目錄中尋找 .bashrc文件,並使用source在目前shell中執行它。
讓我們透過範例認識.bashrc檔案
echo "Bashrc execution starts.." alias elui='top -c -u $USER' alias ll='ls -lrt' echo "Bashrc execution stops.."
在互動式非登入shell的命令提示字元之前,我們將看到下面的輸出
[example@example ~]$ bash Bashrc execution starts.. Bashrc execution stops.. [example@example ~]$
3.2 .profile 的意義
在互動式shell登入過程中,如果在主目錄中不存在.bash_profile,則bash尋找.bash_login,如果發現**.bash_login** 則bash執行它。如果 .bash_login 不存在主目錄中,則bash尋找 .profile 並執行它。
.profile 可以保持與 .bash_profile 或 .bash_login 的設定。它控制著出現的提示,鍵盤聲音,要打開的 shell 以及覆蓋 /etc/profile檔案中設定的變數的單一設定檔設定。
4 區別
每次互動登入時,bash shell都會執行 .bash_profile。如果在主目錄中找不到 .bash_profile,bash將執行從 .bash_login 和 .profile 中找到的第一個可讀檔案。但是,在每次互動式非登入shell啟動時,bash都會 .bashrc。
通常情況下,環境變數會被放入 .bash_profile。由於互動式登入shell是第一個shell,因此環境設定所需的所有預設設定都被放入**.bash_profile**。因此,它們只設定一次而且在所有子shell中繼承。
同樣地,別名和函數也會被放入.bashrc 確保每次從現有環境中啟動shell時都加載這些
#然而,為了避免登入和非登入互動shell設置的差異。 .bash_profile 呼叫 .bashrc。因此,我們將看到下面的程式碼片段被插入**.bash_profile**,以便在每個互動式登入shell上 .bashrc 也在同樣shell執行:
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi PATH=$PATH:$HOME/bin export PATH
注意:
总而言之,在使用环境之前,shell需要其启动文件以配置shell环境。
在本文中,我们检查了各种shell模式。然后,我们了解了各种bash启动文件的重要性。最后,我们检查了这些启动文件之间的差异。
以上是linux用戶source .bashrc或.profile找不到檔案怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

VS Code 可以在 Mac 上使用。它具有強大的擴展功能、Git 集成、終端和調試器,同時還提供了豐富的設置選項。但是,對於特別大型項目或專業性較強的開發,VS Code 可能會有性能或功能限制。

Visual Studio Code (VSCode) 是一款跨平台、開源且免費的代碼編輯器,由微軟開發。它以輕量、可擴展性和對眾多編程語言的支持而著稱。要安裝 VSCode,請訪問官方網站下載並運行安裝程序。使用 VSCode 時,可以創建新項目、編輯代碼、調試代碼、導航項目、擴展 VSCode 和管理設置。 VSCode 適用於 Windows、macOS 和 Linux,支持多種編程語言,並通過 Marketplace 提供各種擴展。它的優勢包括輕量、可擴展性、廣泛的語言支持、豐富的功能和版

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。
