更新

更新

man假期期间,我的 Ubuntu 系统上的和命令都出了问题git log。它们都没有产生任何输出,我不知道问题是什么,除了它们都应该产生分页命令。下面是一个例子。

几点

  • 我昨晚将 Ubuntu 17.04 升级到了 17.10,但这并没有什么改变。
  • less并且more运行良好,我想尝试的所有其他东西也是如此,包括其余的 git 命令。
  • bash和上的问题仍然存在sh

任何帮助是极大的赞赏!

>>> echo Hello world > Foo.txt

>>> git init
Initialised empty Git repository in /home/eoin/GitHub/Fake/.git/

>>> git add Foo.txt 

>>> git commit -m "Init"
[master (root-commit) 9e53556] Init
 1 file changed, 1 insertion(+)
 create mode 100644 Foo.txt

>>> git log

>>> git status
On branch master
nothing to commit, working tree clean

>>> ls
Foo.txt

>>> man
What manual page do you want?

>>> man --version
man 2.7.6.1

>>> man man

>>> man git

>>> man ls

>>> which man
/usr/bin/man

>>> which git
/usr/bin/git

>>> which less
/usr/bin/less

>>> which more
/bin/more

更新

(感谢所有评论的人)

  • 重新安装gitman不起作用。
  • $MANPAGER未在新终端中设置。
    • 运行后MANPAGER=/usr/bin/less man man会如预期一样显示手册页。太棒了!
    • MANPAGER=/usr/bin/less git log什么也不做。
    • man man运行此命令后,alone 仍然不会执行任何操作,即使$MANPAGER已在此终端中设置。我想我需要MANPAGER以某种方式使其永久生效,但目前我还不知道如何操作。不过进展不错。
  • sudo update-alternatives --config pager出现以下选项

    There are 3 choices for the alternative pager (providing /usr/bin/pager).
    
      Selection    Path            Priority   Status
    ------------------------------------------------------------
    * 0            /bin/less        77        auto mode
      1            /bin/less        77        manual mode
      2            /bin/more        50        manual mode
      3            /usr/bin/w3m     25        manual mode
    

    但我已经尝试了所有方法,man man仍然没有任何效果。

  • lessmore正常工作。

  • lesspager在我看来,这似乎是合理的

    >>> ls -l /usr/bin/less
    lrwxrwxrwx 1 root root 9 Jul 18  2016 /usr/bin/less -> /bin/less
    
    >>> eoin@eoin-SATELLITE-S50-B:~/GitHub/Fake$ ls -l /bin/less
    -rwxr-xr-x 1 root root 170728 Mar 24  2017 /bin/less
    
    >>> file /usr/bin/pager
    /usr/bin/pager: symbolic link to /etc/alternatives/pager
    
    >>> file /etc/alternatives/pager
    /etc/alternatives/pager: symbolic link to /bin/less
    
  • man man | cat打印手册页!

    • man man | less也有效
    • 如同 一样git log | less
    • 这是一个合理的解决方法,但我仍然不知道问题到底是什么。

很晚才更新

我刚刚又遇到了同样的问题,在我运行 Ubuntu 16.04 的工作笔记本电脑上。我主要用这台电脑进行 Python 和 R 的科学计算,所以这组程序中很可能有一些东西导致了这个问题。下面的解决方案仍然可以解决这个问题。

答案1

您的替代系统似乎已损坏。您应该能够使用以下命令更新替代链接:

sudo update-alternatives --auto pager

之后,选择您最喜欢的寻呼机:

sudo update-alternatives --config pager

如果这不起作用,你可以设置例如

export PAGER=/usr/bin/less

并且man和都git log应该尊重并使用它(而仅MANPAGER由使用man,正如您已经发现的那样)。

关于设置变量的简短速成课程:

  • 为单个命令设置一个变量,例如:

    PAGER=/usr/bin/less man man
    
  • 为当前终端设置一个变量,例如:

    export PAGER=/usr/bin/less
    
  • 为每个新终端设置一个变量(尽管您也可以在任何现有终端中获取该文件. ~/.bashrc),例如:

    PAGER=/usr/bin/less
    

相关内容