0

我刚刚在 openSUSE 上安装了 utop,但是当我在终端中输入 utop 时,我有

If 'utop' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf utop

打字eval 'opam config env'给了我这个:

OPAM_SWITCH_PREFIX='/home/jadw1/.opam/default'; export OPAM_SWITCH_PREFIX;
CAML_LD_LIBRARY_PATH='/home/jadw1/.opam/default/lib/stublibs:/usr/lib64/ocaml/stublibs:/usr/lib64/ocaml'; export CAML_LD_LIBRARY_PATH;
OCAML_TOPLEVEL_PATH='/home/jadw1/.opam/default/lib/toplevel'; export OCAML_TOPLEVEL_PATH;
MANPATH='/usr/local/man:/usr/share/man:/home/jadw1/.opam/default/man'; export MANPATH;
PATH='/home/jadw1/.opam/default/bin:/home/jadw1/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/sbin'; export PATH;
4

2 回答 2

1

你应该输入这个:

$ eval `opam config env`

不是这个:

$ opam config env

发生的情况是opam config env写出一些您想要执行的 shell 命令。这就是它的eval作用。如果您看到的输出与您看到的一样,则意味着您遗漏了eval.

于 2018-10-24T15:34:46.483 回答
1

eval是一个命令,它根据给定的参数构造命令并执行它们。

eval 'opam config env',带有撇号,因此相当于opam config env直接运行,它只是写出一系列shell命令。

但是,如果您用反引号替换撇号,它将首先执行引用的命令,然后将其输出传递给eval并执行that

eval `opam config env`

因此或多或少等同于运行opam config env,然后将输出复制并粘贴回控制台,您也可以这样做。

于 2018-10-24T20:12:50.720 回答