从 .sh 脚本启动时,Emacs 看不到 agda

Emacs doesn't see agda when launched from an .sh script

我用以下代码制作了一个.sh脚本

#!/bin/sh
cd ~/Projects/Agda\ projects/
emacs

但是每当我启动它时,我都会收到以下错误

File is missing: Cannot open load file, no such file or directory, /bin/bash: agda-mode: command not found


To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the ‘--debug-init’ option to view a complete error backtrace.

在此会话中,agda 的可执行文件不在 PATH 上,并且 PATH 与我在 ~/.bashrc

中的不同

我已经尝试安装 exec-path-from-shell,但未能解决问题。

出于某种原因,从 konsole 手动启动 emacs 工作完美。

调试跟踪:

Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "/bin/bash: agda-mode: command not found\n")
  load("/bin/bash: agda-mode: command not found\n" nil nil t)
  load-file("/bin/bash: agda-mode: command not found\n")
  eval-buffer(#<buffer  *load*> nil "/home/bratjuuc/.emacs" nil t)  ; Reading at buffer position 470
  load-with-code-conversion("/home/bratjuuc/.emacs" "/home/bratjuuc/.emacs" t t)
  load("~/.emacs" t t)
  #f(compiled-function () #<bytecode 0x1e0f4d>)()
  command-line()
  normal-top-level()

如何从 .sh 脚本中使用 agda-mode 启动 emacs

建议将环境上下文添加到您的脚本中。

#!/bin/sh
. ~/.profile
cd ~/Projects/Agda\ projects/
emacs