当我在终端中运行时:
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"