[ANN] : Man&Help

Le
josephb
Bonsoir à tous,

Je ne suis pas tombé tout jeune dans la marmite unixienne, j'utilise
parfois, et tant bien que mal, des scripts shell dans mes applications à
base d'AppleScript, mais ça reste marginal et je ne me sers du Terminal
que sporadiquement, la plupart du temps plutôt pour lire le man d'une
commande que je voudrais utiliser dans un "do shell script".

J'avais déjà remarqué depuis longtemps que lire un man dans le Terminal
n'était pas une sinécure, mais récemment ayant eu à travailler avec
"curl", j'ai vite renoncé au supplice d'essayer de naviguer dans les 28
pages de son man dans le Terminal : je suis allé le faire sur le site
des dev Apple.
Et puis j'ai incidemment découvert que certaines des commandes "builtin"
dont le Mac me refusait le man, affichant en place une page générique,
en réalité en avait une d'aide, enfin un "help", en texte brut, mais
c'est mieux que le rien d'avant.

Agacé par tout ça, je me suis fait un applet, en AppleScript pour
l'enrobage et l'interface minimaliste, qui utilise justement la
puissance d'une demi-douzaine de commandes shell pour récupérer et
mettre en pdf pour Aperçu le man d'une commande qu'on lui indique.
Si la commande est une builtin et a un "help" caché, ça le dénichera et
l'affichera aussi dans Aperçu.
Si ça vous intéresse, c'est dispo ici

<https://www.dropbox.com/s/01aa31cp74h3lbk/Man%26Help.zip?dl=0>

avec un un petit mode d'emploi, bien qu'il n'y ait rien d'autre à faire
que de rentrer le nom de la commande.
Testé et mis au point grâce à l'aide de quelques téméraires du forum, de
S.L. à El Capitan, écrit avec un Lion.

Sans doute un genre d'utilitaire qui sert rarement et dont on perd la
trace sur son Mac, alors, ne pas oublier LE truc pour le retrouver
instantanément :
Ctrl + barre d'espace ==> Taper / man& / dans la fenêtre Spotlight, et
hop l'applet s'ouvre prêt à répondre.

Enjoy :-)

--
J. B.

  • Partager ce contenu :
Vos réponses Page 2 / 5
Trier par : date / pertinence
J.P
Le #26390512
In article (Joseph-B) wrote:

J.P
> Je sais: «JP change d'OS» :-)

À force de nous le brandir sous le nez et de le ronger ce vieil OS, à
n'en plus avoir de dents, tu verras, tu verras, faudra bien que tu te
rabattes sur la pâtée pour chien iOS qu'on nous prépare ;-)



Je progresse vers le progrès: je suis en négociation pour acheter un MBP
mid 2012 motorisé El Capitan :-)

--
Jean-Pierre
g4fleurot
Le #26390520
Joseph-B
Bon, maintenant, petit test comparatif sur l'intérêt collatéral de mon
bidule :



Effectivement, ton script est : Man&Help

Je vais dans le terminal > Préférences > Profil
double clic sur Man Page et j'entre :
help complete envoi
help set envoi

En fait, il semblerait que ton script sort en priorité le help par
rapport au man lorsque les deux existent.

J'ai bon là ?

--
Gérard FLEUROT
g4fleurot
Le #26390522
J.P
Sous SL, avec même qu'avec problème de défilement de pages.



Bien sur, il n'y a pas de profil Man Page

Mais rien ne t'empêche d'en fabriquer un ou d'importer celui-ci dans les
Préférences > Profil de Terminal

Pour l'utiliser , faire un double clic dessus et entrer help set


--
Gérard FLEUROT
josephb
Le #26390521
Fleuger
En fait, il semblerait que ton script sort en priorité le help par
rapport au man lorsque les deux existent.

J'ai bon là ?



Non, justement, la commande Shell /man/ utilisée renvoie d'office la
page man générique pour les builtins qui *n'ont pas leur propre page
man*.
Le script le détecte et cherche alors s'il n'y aurait pas une page help
pour ce builtin, si oui, il en fait un pdf.
Si non il déclare pas "d'aide disponible" et propose en option
d'afficher la page générique des builtins (qui ne nous pas grand chose
d'utile).
Evidemment si le builtin a une page man, on ne cherche pas le help (à
supposer qu'il existe)
Voilou comment ça marche ;-)
--
J. B.
g4fleurot
Le #26390526
Fleuger
En fait, il semblerait que ton script sort en priorité le help par
rapport au man lorsque les deux existent.



Et pourtant,
if (exists ManPath as text) as boolean then
do shell script ("open " & (quoted form of POSIX path of ManPath))
my updateAllCmds(tempCmd)
return
else if (exists HFShelpPath as text) as boolean then
do shell script ("open " & (quoted form of POSIX path of HFShelpPath))
my updateAllCmds(tempCmd)
return
end if
dans ce choix, man passe en premier.

(J'essaie de comprendre, mais ton script est bien trop élaboré pour mes modestes connaissances) :-(

--
Gérard FLEUROT
J.P
Le #26390525
In article (Fleuger) wrote:

J.P
> Sous SL, avec > même qu'avec > problème de défilement de pages.

Bien sur, il n'y a pas de profil Man Page

Mais rien ne t'empêche d'en fabriquer un ou d'importer celui-ci dans les
Préférences > Profil de Terminal

Pour l'utiliser , faire un double clic dessus et entrer help set



Merci, mais, pour ce que j'en fait, je reste avec les outils de JB qui
me vont très bien sous SL dans sa version standard.

--
Jean-Pierre
g4fleurot
Le #26390524
Joseph-B
Evidemment si le builtin a une page man, on ne cherche pas le help (à
supposer qu'il existe)



Ben, dans les exemples que tu proposes, set ou complete, il y a bien une
man page et c'est le help qui sort.

Bon ! Pour le moment, c'est papy qui sort faire un tour pour s'aérer les
poumons ;-)

--
Gérard FLEUROT
josephb
Le #26390531
Fleuger
Ben, dans les exemples que tu proposes, set ou complete, il y a bien une
man page et c'est le help qui sort.



Oui, mais si tu regardes leur prétendue page man respective, c'est
toujours la même : la page générique des builtins, ce qui met le script
sur la voie de chercher plutôt une page help.

Bonne balade !

--
J. B.
josephb
Le #26390530
J.P
Je progresse vers le progrès: je suis en négociation pour acheter un MBP
mid 2012 motorisé El Capitan :-)



Je ne sais si on doit te dire "félicitations" ou "condoléances" ;-)

--
J. B.
g4fleurot
Le #26390534
J.P
Merci, mais, pour ce que j'en fait, je reste avec les outils de JB qui
me vont très bien sous SL dans sa version standard.



Je t'ai proposé ça pour satisfaire ta curiosité.
Je l'ai fait en une minute sur mon SL VirtualBox avant d'écrire le
message.

Ceci dit, ce qu'a fait Joseph est absolument remarquable.
--
Gérard FLEUROT
Poster une réponse
Anonyme