
我有一個作業,但我很困惑要編輯哪個 bash 設定檔。
我應該編輯 bash 設定檔並更改 PS1 提示字元並新增一個環境變量,每當 root 使用者輸入命令時該環境變數就會搜尋 ~/scripts 。然後我應該將其複製到適當的目錄,以便所有新建立的使用者也將擁有變數。
我可以很好地完成第一部分,但不確定我應該編輯哪個設定檔。根據第二個要求,我正在編輯 ~/.bashrc,但隨後我陷入了要複製到哪個目錄的第二部分。
NDG 表示目錄中帶有 .sh 副檔名的所有檔案都會在 /etc/profile.d/ 中自動執行,因此我繼續將 ~/.bashrc 複製/重命名為 bashrc.sh 之類的檔案。但是當我使用新的用戶設定檔測試它時,終端中出現空提示。
希望這裡有人可以幫助我,謝謝。
作業的確切措辭
- 在對應的 bash shell 設定檔中,設定主命令列提示符,使其顯示您的姓氏,後面跟著 @、主機名稱和工作目錄。
- 建立一個名為 ~/scripts 的目錄
- 在對應的 bash shell 設定檔中,變更對應的環境變量,以便當 root 使用者輸入指令時系統也會搜尋新建立的 ~/scripts 目錄。
- 將您在上述步驟中修改的 bash shell 設定檔複製到適當的目錄,以便每當建立新使用者時,使用者也將具有這些環境變數值。
答案1
你看起來編輯得很好.bashrc
;您還需要複製要在建立使用者時複製的任何配置/腳本檔案的範本的目錄通常位於/etc/skel
.
所以你會這樣做:
附加
~/.bashrc
並放置在那裡:PS1="surname@\h\w>"
在 ~/scripts 中為將來的使用者腳本建立佔位符
mkdir ~/scripts
附加到
~/.bashrc
$PATH 修飾符以使其搜尋腳本;根據經驗,出於安全原因,您將其附加在末尾,而不是開頭PATH=$PATH:~/scripts
在最後一部分中,您需要以
root
或屬於sudo
該命令前面的群組的身份執行此操作,以sudo
獲得超級使用者權限;您的普通使用者預設權限不足以在 /etc/skel 目錄中寫入。如在sudo cp ~/.bashrc /etc/skel
或作為
root
使用者:cp ~your_user_name/.bashrc /etc/skel
查看相關內容關聯有關 /etc/skel 的更多詳細信息
/etc/skel 目錄包含在 useradd 程式建立新使用者時自動複製到新使用者主目錄的檔案和目錄。
/etc/skel 允許系統管理員為電腦或網路上的所有新使用者建立預設主目錄,從而確保所有使用者都以相同的設定或環境開始。
作業系統安裝時預設將幾個使用者設定檔放置在/etc/skel中。
目錄 skel 的名稱源自於「骨架」一詞,因為它所包含的檔案構成了使用者主目錄的基本結構。
至於PATH環境變量,參見這
PATH 環境變數是以冒號分隔的目錄列表,當您輸入指令時,shell 將會搜尋該目錄。
程式檔案(可執行檔)保存在 Unix 系統上的許多不同位置。當您請求特定程式時,您的路徑告訴 Unix shell 在系統上尋找的位置。
若要變更 PS1 的提示,您可以使用.bashrc PS1 生成器並使用一個非常聰明的網頁即時查看修改。