为什么 bash 命令中缺少别名?

为什么 bash 命令中缺少别名?

当我在终端中运行时:

alias

~/bashrc包含我所有别名(在和文件中定义)的列表~/.bash_aliases将显示在我的终端上。这很好,符合预期!

但是当我跑步时:

bash -c "alias"

没有输出,因此没有别名。首先,我认为~/.bashrc在第二种情况下该文件不是来源的,所以我运行了:

bash -c ". ~/.bashrc && alias"

但是,昏昏欲睡,再次没有输出......

奇怪的是,当我跑步时:

bash -c ". ~/.bash_aliases && alias"

~/.bash_aliases仅显示中定义的别名。

有人可以阐明一下并让我了解这里到底发生了什么吗?

答案1

您需要一个交互式 shell 来定义别名:

bash -i -c "alias"

相关内容