我最近安装了 TeX-Live 并尝试将其 man 添加到 manpath 中。没成功,找不到条目,我也没太在意。但是,(我想)系统重新启动后,该man
命令无法完全工作。
:~$ man man
bash: /mnt/HDD/texlive/2021/bin/x86_64-linux/man: cannot execute binary file: Exec format error
我不知道为什么它要寻找 TeX Live 的版本。
:~$ whereis man
man: /usr/bin/man /usr/local/man /usr/share/man /mnt/HDD/texlive/2021/bin/x86_64-linux/man /usr/share/man/man7/man.7.gz /usr/share/man/man1/man.1.gz
我已经修改了两者~/.bashrc
并/etc/manpath.config
基于这个接受的答案,这两个我都恢复了。我尝试了source
新的 bashrc 文件,注销并重新登录,或重新启动系统,但我似乎无法man
再次工作。
这里有什么问题,如何恢复man
,以及我可以忽略什么?需要明确的是,我并不关心是否成功地将 TeX Live 添加到手册页,我只是想让我的man
命令再次发挥作用。
编辑:附加信息
这是路径变量:(我打破了输出 int 多行并删除了冒号,以便在这里更容易阅读。)
:~$ echo $PATH
/mnt/HDD/texlive/2021/bin/x86_64-linux
/home/<username>/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin:/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin
最上面的一个应该是我构建乳胶项目所需的一个,所以我认为它不会导致问题。
另外,echo $MANPATH
不打印任何内容。
至于我所做的事情,除了修改这两个文件之外,我什么也没做。
我添加了以下几行$HOME/.bashrc
PATH=/mnt/HDD/texlive/2021/bin/x86_64-linux:$PATH; export PATH
MANPATH=/mnt/HDD/texlive/2021/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/mnt/HDD/texlive/2021/texmf-dist/doc/info:$INFOPATH; export INFOPATH
# set up PATH to MANPATH mapping
然后我在该部分的末尾添加了以下行/etc/manpath.config
MANPATH_MAP /mnt/HDD/texlive/2021/bin/x86_64-linux /mnt/HDD/texlive/2021/texmf-dist/doc/man
然后我运行source ~/.bashrc
,并尝试访问一些随机 TeX 内容的手册页,并遇到一条消息,指出未找到相关条目。因此,即使它不能与 TeX 一起使用,该man
命令仍然可以运行。
我相信我把它留在这里,几天后注意到我描述的问题。正如我所说,我撤消了上面提到的所有内容。
因为已经过去了一段时间,我不一定知道我在做什么,尤其是对文件做了什么manpath.config
,我可能做了其他事情,但我不记得做了其他任何事情。如果您对可能导致此类问题的潜在操作有任何建议,或者无论如何解决这个问题的方法(当然,这不涉及重新安装 Linux 或任何其他操作),我将不胜感激。
答案1
如果您想要一些不寻常的东西, “ MANPATH
”控制man
命令查找man
页面的位置。保留其未设置以使用默认位置。看看man man
你什么时候解决这个问题。
“ $PATH
”是一个以冒号分隔shell 查找可执行程序的目录列表(如果您键入的不是别名、函数或内置程序)。
通过将/mnt/HDD/texlive/2021/bin/x86_64-linux
第一个放在您的 中PATH
,您可以texlive
提供(非工作)man
命令。看看man bash
什么时候修好。
放在texlive
最后PATH
。将行更改.bashrc
为:
PATH=$PATH:/mnt/HDD/texlive/2021/bin/x86_64-linux
并注销/登录以重新开始。
有关使用“冒号分隔”列表作为bash
数据类型的更多详细信息,我使用 Stephen Collyer 的 bash_path_funcs,它早在 2000 年就在 Linux Journal 中进行了描述:
https://www.linuxjournal.com/article/3645 https://www.linuxjournal.com/article/3768 https://www.linuxjournal.com/article/3935
addpath
仅当路径中最初不存在该条目时,该函数才会将其添加到路径中。delpath -n
从路径中删除所有不存在的目录。
您可以pathfunc.tgz
从以下位置获取该文件 https://web.archive.org/web/20061210054813/http://www.netspinner.co.uk:80/Downloads/pathfunc.tgz
答案2
删除此行以恢复您的可执行文件:
PATH=/mnt/HDD/texlive/2021/bin/x86_64-linux:$PATH; export PATH
删除另外两行以分别恢复man
和的文档搜索路径info
。