在我的 GNU/Linux Debian 9 上,我想运行:
sudo -s source /home/UserName/.bashrc
我想分别定义一个像这样的别名,让我们命名它su2
。
我无法运行这样的命令。
该命令成功运行,但不符合我的预期。
调用它似乎没有做任何事情,甚至没有让我扎根。
我很困惑为什么会这样。
所以我想要它做什么:
像根我一样:
sudo -s
来源我的个人的bashrc 和别名如:
source /home/UserName/.bashrc source /home/UserName/.bash_aliases
就这样。
答案1
source
是一个内置的 shell,所以你不能运行它通过 sudo
。以下应该有效:
sudo bash --rcfile /home/UserName/.bashrc
.bash_aliases
通常由(默认情况下 Bash 不支持)处理.bashrc
,例如
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases; fi
要正确处理别名,您可以将其替换为
if [ -f /home/UserName/.bash_aliases ]; then . /home/UserName/.bash_aliases; fi