Quelque chose a mal tourné avec les commandes man
et git log
de mon système Ubuntu pendant les vacances. Ni produire aucune sortie, et je n'ai aucune idée de ce que le problème est, sauf qu'ils devraient tous deux produire des commandes paginées. Un exemple est ci-dessous.
Des points
less
et more
fonctionnent bien, comme tout ce que j'ai pensé essayer, y compris le reste des commandes git.bash
et sh
.Toute aide est grandement appréciée!
>>> 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
(Merci à tous ceux qui ont commenté)
git
ou man
ne fonctionne pas.$MANPAGER
n'est pas défini dans un nouveau terminal. MANPAGER=/usr/bin/less man man
affiche la page de manuel comme prévu. Génial!MANPAGER=/usr/bin/less git log
ne fait rien.man man
ne fait toujours rien après avoir exécuté cette opération, même si $MANPAGER
a été défini dans ce terminal. Je suppose que je dois rendre MANPAGER
permanente, mais je ne sais pas comment pour le moment. Bon progrès cependant.Sudo update-alternatives --config pager
ouvre les options suivantes
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
mais je les ai tous essayés, et man man
ne fait toujours rien.
less
et more
fonctionnent normalement.
less
et pager
semblent sensés, autant que je sache
>>> 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
imprime la page de manuel!
man man | less
fonctionne aussigit log | less
.Je viens juste de rencontrer à nouveau le même problème, sur mon ordinateur portable de travail, sous Ubuntu 16.04. J'utilise principalement cet ordinateur pour l'informatique scientifique en python et R; il y a donc probablement quelque chose dans cet ensemble de programmes qui cause ce problème. La solution ci-dessous le corrige toujours.
Il semble que votre système alternatif soit en panne. Vous devriez pouvoir mettre à jour les liens alternatifs avec:
Sudo update-alternatives --auto pager
Après cela, choisissez votre téléavertisseur préféré avec:
Sudo update-alternatives --config pager
Si cela ne vous convient pas, vous pouvez définir, par exemple,.
export PAGER=/usr/bin/less
et man
et git log
doivent respecter et utiliser cela (alors que MANPAGER
est utilisé par man
uniquement, comme vous l'avez déjà découvert).
Un bref cours intensif sur la définition des variables:
définir une variable pour une seule commande, par exemple:
PAGER=/usr/bin/less man man
définir une variable pour le terminal actuel, par exemple:
export PAGER=/usr/bin/less
définir une variable pour chaque nouveau terminal (bien que vous puissiez également alimenter le fichier avec . ~/.bashrc
dans tout terminal existant), par exemple:
PAGER=/usr/bin/less