首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Ubuntu 下 sudo gedit ~/.bashrc 顯示空白的原因:用戶家目錄不匹配

     編輯:程式設計綜合問答

現象

執行 sudo gedit ~/.bashrc 打開空文件,但當前用戶明明有配置。

根因

~ 由 Shell 展開為當前用戶的家目錄:

  • 普通用戶 hadoop 下:~ = /home/hadoop
  • sudo 切換到 root:~ = /root

因此 sudo gedit ~/.bashrc 實際編輯的是 /root/.bashrc,而非 /home/hadoop/.bashrc。

解決方案

  1. 指定絕對路徑(推薦)
    sudo gedit /home/hadoop/.bashrc
  2. 保持環境變量
    sudo -E gedit ~/.bashrc  # -E 保留 HOME 等環境變量
    注意:目標文件權限需允許 root 寫入
  3. 切換用戶後編輯
    su - hadoop
    gedit ~/.bashrc

最佳實踐

  • 修改系統級配置用 sudo,修改用戶級配置直接用該用戶身份編輯
  • Hadoop 環境變量建議寫在 /etc/profile.d/hadoop.sh (全局) 或 ~/.bashrc (用戶級),避免 sudo 混淆
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved