我在ubuntu上安装了emacs(使用sudo apt-get install emacs)。 当我尝试从emacs(例如M-! ls
)运行shell命令时,我遇到了一个问题:输出前面是这样的:
bash: cannot set terminal process group (-1): Invalid argument bash: no job control in this shell
在我的.emacs
我有选项(setq shell-command-switch "-ic")
。 这是我可以推测使用我的别名以及命令。 这并没有给我工作上的问题,它让我使用我的别名。 我怎样才能使用我的别名,但避免这个问题?
我想通过设置你的shell命令开关,你正在执行你的.profile
或系统配置文件中的代码路径,这取决于shell中的作业控制。
我将通过在正确的代码路径中定义所需的别名来解决此错误,以便在不以-i
开头的-i
您可以尝试使用--rcfile .aliases
或类似的东西来交换-i
,这样emacs中的alias
就不会与登录shell中的alias
不同。 如果您的.bashrc文件对您的工作有重要的意义,请使用.bashrc.emacs文件创建一个文件
source .bashrc source .aliases
并在你的(setq)
指令中用--rcfile .bashrc.emacs
指向那个文件。
你在哪里定义你的别名? Ubuntus .bashrc读取.bash_aliases,这也应该发生在非交互式shell。