![为什么 bash 命令中缺少别名?](https://linux22.com/image/40069/%E4%B8%BA%E4%BB%80%E4%B9%88%20bash%20%E5%91%BD%E4%BB%A4%E4%B8%AD%E7%BC%BA%E5%B0%91%E5%88%AB%E5%90%8D%EF%BC%9F.png)
当我在终端中运行时:
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"