Cette solution fonctionne parfaitement bien, mais c'est aussi un peu une blague, car la première chose à laquelle j'ai pensé en lisant votre question a été : "Qui utilise encore littéralement man en ligne de commande ? Tout le monde ne se contente-t-il pas de chercher sur Google la page de manuel qu'il souhaite (afin d'obtenir des fonctions sophistiquées comme le défilement illimité) ? Puis j'ai réalisé que les sites que je cherche sur Google ont généralement tous les deux types de commandes, alors pourquoi ne pas les utiliser pour fournir une interface de page de manuel uniforme pour toutes les commandes. C'est ainsi que ce jeu est né.
Cela nécessite une connexion Internet pour toutes les entrées que vous n'avez pas déjà consultées au moins une fois. Elle a également besoin de ces deux petites applications qui sont absentes de l'installation par défaut d'Ubuntu :
sudo apt-get install tidy html2text
Ils ne sont pas absolument nécessaires mais ils aident à rendre le tout un peu plus joli. Tidy va nettoyer le HTML et html2text va formater ce html en texte formaté (ce qui est généralement assez trivial puisque la plupart de ces sites sont déjà formatés en texte et juste enveloppés dans des balises <pre>.
Maintenant, tout ce que vous devez faire est d'ajouter ceci à la fin de ~/.profile
:
function iman() {
if [ ! -d "/usr/share/iman" ]; then
sudo mkdir -m a=rwx /usr/share/iman
fi
if [ ! -f "/usr/share/iman/$1.html" ]; then
curl "http://unixhelp.ed.ac.uk/CGI/man-cgi?$1"| tidy -n -asxml 2>/dev/null| html2text > "/usr/share/iman/$1.html";
fi
if [ -f "/usr/share/iman/$1.html" ]; then
cat "/usr/share/iman/$1.html";
else
echo "Entry not found."
fi
}
Après vous être déconnecté puis reconnecté, vous devriez pouvoir taper ceci :
iman cd
et il affichera la page de manuel de cd
.
Il utilise un répertoire de données (/usr/share/iman) afin de minimiser les besoins du réseau (ainsi, il fonctionnera pour les entrées que vous avez déjà trouvées auparavant même sans connexion ; également pour minimiser la charge sur ce site aléatoire de pages de manuel linux que j'ai trouvé avec les entrées système que nous voulons aussi). Si vous n'utilisez plus ce site, vous pouvez le supprimer pour récupérer de l'espace disque.
Avec un peu de chance, le reste est assez simple.