sudo -s -H 和別名

sudo -s -H 和別名

我常使用sudo -s -H,但執行後想有別名怎麼辦?

說明:我以 user1 身分登入伺服器(位於 sudoers 中)。該用戶的別名為.bash_aliases

alias rm='rm -i'

現在我執行sudo -s -H

現在rm沒有別名 - 所以它會在沒有提示的情況下刪除檔案。

如何改變呢?

(我看到帖子alias sudo='sudo '- 但它只適用於執行命令sudo command- 不適用於sudo -s -H

答案1

您必須在 下取得相同的別名/root/.bashrc

您可以透過兩種方式執行此操作:

  1. 複製/home/user1/.bash_aliases/root/.bash_aliases並將以下內容新增至/root/.bashrc

    if [[ -f /root/.bash_aliases ]]
    then
      . /root/.bash_aliases
    fi
    
  2. /home/user1/.bash_aliases文件來源/root/.bashrc

     if [[ -f /home/user1/.bash_aliases ]]
     then
       . /home/user1/.bash_aliases
     fi
    

您選擇的解決方案取決於個人喜好。我正在使用選項 2,因為我希望 root 與我的普通用戶具有相同的別名等,這樣我只需將其維護在 1 個位置(您也可以創建一個到/home/user1/.bash_aliasesin 的符號鏈接/root,但效果會是相同的)。

如果您選擇選項 1,則必須分別維護user1和的別名root。這可能適合也可能不適合您的用例。

相關內容