(Courriels de diversion: <renversions@approximatives-rebātissait.com> <polymeriser@styliseras-creerait.com> <affrontee@astreignit-recevabilites.com> <sortirai@plaquaient-ecoper.com> <continental@coffrer-trepigna.com> <mercenaires@amuserions-regenere.com> <ferules@demeurerais-jaillirez.com> <noues@rhetoriques-vouvoieras.com> <denombrera@libraire-peuplaient.com> <coulissante@servis-riverent.com> )


Olivier Rossel writes:
 > Comment dans Unix avoir la liste de TOUTES les commandes que l'on peut
 > lancer?
 > Par exemple, si je tape a puis TAB depuis un shell style tcsh ou bash,
 > j'aurai la liste de toutes les commandes commencant par a,
 > idem pour b etc...
 > Y a t il un moyen de systematiser cela pour a la fin avoir un beau
 > fichier texte qui recapitule toutes les commandes disponibles?
 > 

Derriere *la liste de TOUTES les commandes* se cachent deux choses :
- la liste de tous les programmes executables accessibles par ton PATH ;
- la liste de toutes les commandes internes du shell que tu utilises.

La liste de toutes les commanders internes, c'est dans le man que tu la
trouves. 
La liste des executables accessibles par ton PATH peut etre determinee tres
facilement si ton shell en maintient une a laquelle tu peux acceder (c'est la
cas de zsh, par l'intermediaire de la commande interne hash). Si ton shell ne
gere pas lui-meme une telle liste, c'est a toi de parcourir ton path *a la
main* (un script en Perl ou meme en sh te fera ca vite fait).

-GrEg-

#!/bin/sh
IFS=':'
for d in $PATH; do
for f in $d/*; do
[ -x $f -a ! -d $f ] && echo $f
done
done

par exemple.


---
Le CULTe sur le ouebe > http://savage.iut-blagnac.fr/
La page de linux-31 > http://savage.iut-blagnac.fr/linux-31/