代码之家  ›  专栏  ›  技术社区  ›  prosseek

eshell(elisp shell)启动时读取什么设置文件?埃塞尔是如何确定自己的道路的?

  •  10
  • prosseek  · 技术社区  · 14 年前

    对于emacs/eshell,“echo$PATH”显示的路径与$PATH环境变量不同。

    我还检查了eshell不读.bashrc或.profile,我想这就是路径不同的原因。

    • 如何使eshell的路径与环境变量的路径相同?

    正如Jrme指出的,路径取决于如何启动Aquamcs。

    • 当我从命令行运行'aquamacs'时,它有相同的路径。
    3 回复  |  直到 14 年前
        1
  •  6
  •   Jérôme Radix    14 年前
    • eshell启动时读取什么安装文件?

    启动时不执行安装文件。读取以下文件以定义初始历史记录和最后一个目录:

    ~/.eshell/history
    ~/.eshell/lastdir
    

    在esh中-利用率,第240行:

    (defvar eshell-path-env (getenv "PATH")
      "Content of $PATH.
    It might be different from \(getenv \"PATH\"\), when
    `default-directory' points to a remote host.")
    
    • 如何使eshell的路径与环境变量的路径相同?

    它与emacs进程的PATH变量相同。我设想您在emacs外部的shell上执行echo$路径来进行比较。如果emacs和您的shell在emacs之外的路径不同,那是因为emacs和您的shell不执行相同的启动脚本。

        2
  •  5
  •   Sean Allred    6 年前

    由于您使用的是Mac,因此了解GUI应用程序(如未从终端打开的AquaMac)从 ~/.MacOSX/environment.plist this article by Brian D Foy 自动生成此文件的方法。

        3
  •  1
  •   Community Sam Holder    7 年前

    根据定义, echo $PATH PATH 环境变量。在Emacs中运行的shell继承 路径 来自正在运行的Emacs进程的环境变量。

    <编辑> 炮弹跑了进来 eshell 不像bash那样是一个单独的程序,它内置在Emacs中。它的定制是通过emacslisp完成的。特别是,当eshell启动时,它运行中的函数 eshell-mode-hook 并将Lisp文件加载到 eshell-modules-list . <

    看来你还没准备好 路径 Super User ,确保说明您的操作系统是什么,如果适用,请说明您的登录shell、桌面环境等。

    推荐文章