Précédent Index Suivant

5.12   Manipulations

Certains programmes ont eux-mêmes une notion de ligne courante (par exemple sh, Le_Lisp et d'autres). Quoique officiant souvent en mode cbreak et -echo ils sont lancés par sh en mode normal. Leurs arguments d'appel passent donc à travers l'interface et sh. Les mécanismes peuvent donc se conjuguer. Par exemple
 grep  '\\\\'  * 
permet de rechercher toutes les lignes des fichiers du répertoire courant, comportant au moins une barre de fraction inverse. En effet les quatre caractères \\\\ frappés au clavier passent tels quels l'interface, sont interprétés par sh comme la chaine \\ (puisque \ est le caractère d'échappement de sh) qui est alors soumise à grep qui l'interprète lui-même comme l'unique caractère \, puisque \ est aussi le caractère d'échappement de grep ! Un bel exemple de masochisme serait alors (\ étant aussi le caractère d'échappement de nroff la série des huit caractères \ qui suit a été frappée sous la forme de seize \ !)
stty lnext '\\'
grep '\\\\\\\\\\\\\\\\' *  
qui recherche la même chose que précédemment ! L'explication graphique est la suivante


Manipuler UNIX via TRANSPAC pose des problèmes analogues lorsque l'on désire transmettre ­P.


Précédent Index Suivant