Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[shell bash] pages de man manquantes

7 réponses
Avatar
grigro
Bonjour,

la plupart de mes demandes (man set, man cd ...) m'envoient sur la page
BUILTIN(1) de man

pour info :

$ manpath
/usr/share/man

$ which man
/usr/bin/man
(je ne comprends d'ailleurs pas cela)

$ cat manpath.config

MANDATORY_MANPATH /usr/share/man

MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /usr/local/bin /usr/local/man
MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man

Merci pour vos lumières.




--
Eat at Joe's

7 réponses

Avatar
laurent.pertois
Grimble Gromble wrote:

la plupart de mes demandes (man set, man cd ...) m'envoient sur la page
BUILTIN(1) de man


Normal, ce sont des commandes qui sont directement dans bash, c'était
pareil en tcsh...

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
patpro ~ patrick proniewski
In article <1gcilau.1dls2deujfyqpN%,
(Grimble Gromble) wrote:

Bonjour,

la plupart de mes demandes (man set, man cd ...) m'envoient sur la page
BUILTIN(1) de man



normal, ce sont des builtins, des commandes gérées par le shell lui meme.
Il n'y a pas de binaire pour cd ou set, ...


patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php

Avatar
eric_alube
Bonjour,

Bonjour,

la plupart de mes demandes (man set, man cd ...) m'envoient sur la page
BUILTIN(1) de man

pour info :


Toutes les commandes *internes* du shell bash sont expliquées dans la
page de man de bash...


Donc :

man bash

puis, pour rechercher quelque chose, il faut taper "/mot" (le "/"
symbolise le recherche du mot "mot" dans la page de man)

Exemple : /declare donnera la première occurence "declare" trouvée dans
cette page de man.

Pour obtenir toutes les occurences suivantes : touche "n"(comme "next",
occurence suivante)

il y a même un historique des recherches, (bufferisé seulement), c'est à
dire que si tu sors de la page de man, toutes les recherches précédentes
sont à refaire.


N.B : un truc pour trouver *toutes* les commandes builtin :

PATH_BACKUP=`echo $PATH` && export PATH=""

Puis <TAB> donne toutes les commandes builtin :-)


Pour retrouver un état "normal" du PATH, il suffit de taper :

export PATH=$PATH_BACKUP && unset PATH_BACKUP



Merci pour vos lumières.


Avec plaisir


Cordialement


--
eric bachard

Avatar
grigro
Merci à tous.

--
Eat at Joe's
Avatar
blanc
Grimble Gromble wrote:

$ manpath
/usr/share/man


La commande manpath permet de connaitre l'ensemble de tous les chemins
conduisant à des pages de manuel. Ici un seul chemin : /usr/share/man

On peut modifier cet ensemble de chemins, soit en modifiant le fichier
/etc/manpath.config (voir plus bas), soit en créant la variable
d'environnement MANPATH

Par exemple :
export MANPATH /usr/man:~/man

défini deux chemins : /usr/man et ~/man pour le manuel

la commande manpath donne alors
/usr/man:~/man

Il est à noter que la variable MANPATH a prédominance sur le fichier
/etc/manpath.config

Pour supprimer cette variable, faire la commande :
unset MANPATH

Pour plus de détails : man manpath

$ which man
/usr/bin/man
(je ne comprends d'ailleurs pas cela)


La commande which permet de localiser une commande binaire.

Ici par exemple la commande man se trouve dans le sous-répertoire bin du
répertoire /usr

Il existe deux variantes (pas dans tous les shells). Ce sont : whereis
et whence

Par exemple, chez moi (je suis en zsh plutôt qu'en bash, et ls est en
fait un alias) j'obtiens pour les trois commandes sur ls :

% which ls
ls: aliased to /bin/ls -CF -G

% whereis ls
/bin/ls

% whence ls
/bin/ls -CF -G

Il existe aussi une commande qui permet de localiser n'importe quoi :

locate

Elle ne marche que si la base de données correspondante a été
construite, et est mise à jour régulièrement.

Essaye par exemple : locate whereis

Plus de détails : utiliser man sur ces commandes

$ cat manpath.config


Le fichier /etc/manpath.config permet de définir les chemins de manuels
par défaut

Pour le voir en entier, utilise plutôt la commande more (ou less, c'est
encore mieux) et n'oublie pas que si tu n'est pas dans le répertoire
/etc, c'est le chemin absolu qu'il faut utiliser :

more /etc/manpath.config
less /etc/manpath.config

MANDATORY_MANPATH /usr/share/man


chemin obligé

OPTIONAL_MANPATH /usr/local/lib/perl5/5.6.1/man


chemin optionel (seulement si le répertoire existe

MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /usr/local/bin /usr/local/man
MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man


chemins "mappés" : si /usr/local/bin est dans PATH alors /usr/local/man
sera dans MANPATH

Merci pour vos lumières.


You're welcome

JPaul.

--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
blanc
Matt wrote:

C'est une très très mauvaise idée que de modifier $MANPATH.
Je t'invite à relire le man de manpath(1) et plus précisément la section
"ENVIRONMENT".


Exact, je n'avais pas lu cette ligne. Et venant de vieux Unix pour
lequel il n'y avait que la variable, j'ai certainement de mauvaises
habitudes.

Il existe aussi une commande qui permet de localiser n'importe quoi :

locate

Elle ne marche que si la base de données correspondante a été
construite, et est mise à jour régulièrement.


Seulement si le Mac est éveillé au moment du lancement du script
"/etc/periodic/weekly/500.weekly".

On peut la reconstruire de temps à autre avec :

$ sudo /usr/libexec/locate.updatedb


Tout à fait d'accord

JPaul.

--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE


Avatar
grigro
JPaul wrote:


You're welcome

JPaul.


Merci aussi pour toutes ces explications.


--
Eat at Joe's