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 拥有与普通用户相同的别名等,这样我只需在一个地方维护它(您也可以创建指向 的符号链接/home/user1/.bash_aliases/root但效果是一样的)。

如果您选择选项 1,则必须分别为user1和维护别名root。这可能适合您的用例,也可能不适合。

相关内容