我的bash init脚本(〜/ .profile)包含重要的初始化,但是每当我使用
shell命令或在emacs中编译时,该init
文件不会被读取,并且没有这些初始化,我的emacs中的bash命令将失败:(如何强制emacs执行我的用于shell命令的shell的init
文件?
澄清:我不是在谈论M-x shell,当我将.profile链接到.emacs_bash时,它会读取我的init文件.
将初始化例程移动到〜/ .bashrc
文件中
然后添加行
source ~/.bashrc
进入〜/ .bash_profile文件.有关哪些启动文件加载的详细说明,请参阅bash man page.关键是交互式和非交互式shell之间的区别,以及登录和非登录shell之间的区别.
一般来说,.bash_profile在使用shell登录系统时运行,而.bashrc在启动新的shell时运行(OS X Terminal应用程序是该规则的一个例外,因为它为每个新的终端实例运行.bash_profile).欲了解更多信息,请参阅文章look here.