找不到Emacs shell命令

Cur*_*arn 4 emacs shell

我在Mac OS X 10.5.8上工作.我正在尝试学习emacs.我是新手,今天尝试从emacs中输入shell命令.我进去了pdflatex filename.但是,它给我一个错误说

/bin/bash: pdflatex: command not found
Run Code Online (Sandbox Code Playgroud)

我安装了LaTeX,并且pdflatex可以在终端的命令行中正常工作.

对于lsd我在.bash_profile文件中定义的命令,我收到类似的错误.这在终端的命令行上也能正常工作.

该命令ls在emacs shell中正常工作.

有没有人知道可能会发生什么.

我如何让emacs识别终端命令行上正常工作的所有命令.无论如何我可以使emacs shell和终端命令行使用的环境相同吗?如果是这样,你有什么理由建议不要这样做吗?我对bash和emacs都知之甚少.

非常感谢你.

Hig*_*ark 8

Emacs shell可能在与终端命令行中的环境不同的环境中工作.比较在envEmacs shell中运行时和在终端中运行时的输出.要特别注意的价值观PATH.

  • 默认情况下,Emacs shell命令(M-!)不是交互式的,因此bash不会加载.bashrc.您可以通过将`(setq shell-command-switch"-ic")`添加到.emacs init文件来更改此设置.-i告诉bash是交互式的,这使得它加载〜/ .bashrc文件.这是简单的解决方法,但是你的〜/ .bashrc中可能存在运行快速shell命令时不一定需要的东西.在这种情况下,最好设置BASH_ENV环境变量,以便更好地控制发生的事情. (10认同)