home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / cli / csh519f.lha / tips.doc < prev   
Encoding:
Text File  |  1991-12-05  |  6.7 KB  |  211 lines

  1. Quelques bonnes idΘes:
  2.  
  3.  
  4.     EDITION
  5.  
  6.  
  7. Les situations trΦs courantes:
  8. $ mkdir documents
  9. $ cd documents
  10. peut Ωtre abrΘgΘe par:
  11. $ mk documents
  12. $ [CTRL-T]              (insΦre tout sauf le premier mot de la ligne
  13.  
  14.  
  15. Aussi trΦs courant:
  16. $ mv document document1
  17. $mv [CTRL-P]1
  18. La fonction CTRL-P duplique le mot prΘcΘdent sur la ligne de commande
  19.  
  20.  
  21. Vous pourriez vous Ωtre demandΘ en quoi CTRL-N (laisse la ligne courante)
  22. peut vous Ωtre utile.
  23. Supposons, par exemple, que vous avez tapΘ
  24. $ rm dh1:graphics/lo-res/gorilla
  25. quand il vous vient α l'esprit que vous prΘfereriez garder une copie de cette
  26. image sur disquette. Plusieurs effaceraient la ligne de commande. Comme vous
  27. avez de la classe, vous faεtes ce qui suit:
  28. $ [CTRL-N]              (laisse la ligne de commande tranquile)
  29. $ co [CTRL-T] df0:
  30. $ [FlΦche-Haute][FlΦche-Haute]  (reprend la lignede commande que vous aviez
  31.                                 laissΘ)
  32.  
  33.  
  34. Au cas o∙ vous ne sauriez pas ce qu'est la complΘtion sur l'historique:
  35. $ search *.c *.h makefile toto
  36. $ ram:
  37. $ dir
  38. $ rm tmpfile
  39. Maintenant si vous voulez rΘpΘter la commande search, entrez
  40. $ se[Shift-FlΦche-Haute]
  41. ce qui rapelle la derniΦre commande commenτant par 'se'.
  42.  
  43.  
  44. Si vous voulez effacer le fichier
  45. $ rm dh2:comm/uucp/mail/junk/409
  46. et que vous Ωtes loin de ce rΘpertoire, entrez
  47. $ ju[ESC-c]409          (entre le chemin correspondant α cd ju)
  48.  
  49.  
  50. La mΩme fonction est aussi utilisable pour 'cd'. Supposons que vous avez
  51. plusieurs rΘpertoires 'junk':
  52. $ ju[ESC-c][CTRL-R][CTRL-R][CTRL-R]
  53. Comme ceci vous cyclerez α travers les rΘpertoires junk. Quand vous aurez le
  54. bon, appuyez sur enter.
  55.  
  56.  
  57. Supposons qu'il y a les fichiers comm1.c, comm2.c, et comm3.c avec leurs
  58. fichiers .o correspondants. Vous voulez comm3.c:
  59. $ co[Shift-Tab]1[Tab]
  60. Bien s√r ceci est plus utile surdes noms de fichiers plus longs.
  61.  
  62.  
  63. Vous pouvez complΘter un nom de fichier par tab sur n'importe quel motif,
  64. pas seulement les abrΘviations. Supposons que vous voulez effacer tous les
  65. fichiers .c dans le rΘpertoire courant sauf le dernier:
  66. $ rm *.c[ESC-Tab][CTRL-W]
  67. De plus, vous pouvez voir tous les fichiers encore une fois avant de les
  68. effacer.
  69.  
  70.  
  71. Ensuite: Vous avez entrΘ:
  72. $ dir
  73. $ foreach i ( *.c ) "e >>ram:temp $i
  74. et vous voudriez effectuer les mΩmes trois actions α nouveau, entrez:
  75. $ [FlΦche-Haute][FlΦche-Haute][FlΦche-Haute][ESC-Return][CTRL-R][CTRL-R]
  76.  
  77.  
  78. Je sais que l'Θdition n'est pas trΦs conviviale. C'est parce qu'il est assez
  79. difficile et dangereux de prendre des codes raw sur la console, et il est
  80. impossible de prendre ces codes depuis un terminal VT200. Ainsi j'ai me
  81. dΘbrouiller avec des combinaisons de CTRL et ESC. Une fois que vous les avez
  82. appris (certains d'entre eux sont similaire α EMACS), vous Θconomisez
  83. beaucoup de frappe.
  84.  
  85.  
  86.     COMMANDES
  87.  
  88.  
  89. Mon conseil ici est trΦs clair: Utilisez les alias, les alias, les alias.
  90. Pour Ωtre capable de les crΘer aussi vite que possible, crΘez un alias (par
  91. ex. 'le') qui Θdite votre fichier de login, plus un autre (par ex. 'lx'),
  92. qui le rΘexΘcute. Mon login ne contient quasiment que des alias, tout le
  93. reste, je l'ai mis dans 'firstlogin.sh'.
  94.  
  95.  
  96. Si vous n'aimez pas mes options par dΘfaut pour une commande, vous pouvez
  97. en ajouter en utilisant un alias:
  98. $ alias dir "dir -q
  99. A partir de lα, les blocs ne seront plus affichΘs dans 'dir'.
  100.  
  101.  
  102. Si vous alias ont des arguments, par ex.:
  103. $ alias sc "search *.c
  104. des problΦmes surgissent lorsque vous essayez de spΘcifier des options, par
  105. exemple la sensibilitΘ aux majuscules:
  106. $ sc -c "bonjour tout le monde
  107. Ceci ne marchera evidemment pas. C'est ce que rΘsoud @pickopts:
  108. $ alias sc "%a serach @pickopts( $a ) *.c @pickargs( $a )
  109.  
  110.  
  111. Une fois que vous avez des alias, il est utile de les garder triΘs. Vous
  112. pourriez aussi les documenter: crΘez un fichier 'alias.doc', et faites
  113. $ set _man alias.doc csh.doc
  114. De cette faτon vous pouvez les documenter dans un fichier sΘparΘ.
  115.  
  116. Si vous vouliez crΘer des alias qui acceptent des arguments, vous pouvez
  117. les implΘmenter en utilisant 'if -o'.
  118. $ alias bon "%a if -o v $a;echo -n "tres ";endif;echo bon boulot, @arg( $a )
  119. $ bon olivier       --> bon boulot, olivier
  120. $ bon -v olivier    --> tres bon boulot, olivier
  121.  
  122. 'cat' peut Ωtre utilisΘ pour crΘer de petits fichiers de texte:
  123. $ cat >monfichier
  124. bonjour
  125. [CTRL-\]
  126. La combinaison de touches CTRL-\ crΘe un caractΦre de fin de fichier
  127.  
  128.  
  129.     FONCTIONS
  130.  
  131. @age est trΦs utile pour archiver les scripts:
  132. $ foreach i ( * ) "if @age( $i ) > 30;cp -m $i backup:;endif
  133.  
  134.  
  135. @clinum peut Ωtre utilisΘ pour rendre 'break' et 'pri' plus flexibles:
  136. $ alias break "%a break @clinum( $a )
  137. Maintenant vous pouvez faire, par exemple, 'break cc'. Les numΘros de Cli
  138. sont toujours autorisΘs.
  139.  
  140. @complete simule l'effet de la complΘtion des noms de fichiers par TAB. De
  141. cette faτon, vous n'avez plus besoin de presser TAB pour cela:
  142. $ alias edit "%a ced @complete( $a * )
  143.  
  144.  
  145. @confirm peut Ωtre uitilisΘ pour un 'rm' s√r:
  146. $ alias rm "%a rm @confirm( $a )
  147.  
  148.  
  149. @howmany est utile au lancement:
  150. $ if $howmany = 1;window -l;endif
  151.  
  152.  
  153. @intersect, @union et @without conviennent bien α de nombreuses applications
  154. Si vous stockez, par exemple, tous les fichiers d'un de vos amis, dans la
  155. variable $him, (il peut faire un 'dir -np .../ >temp', vous faites alors un
  156. 'readf him <temp'), et vos fichiers dans $me, alors vous pouvez savoir ce
  157. qu'il a et pas vous en utilisant
  158. $ echo @without( $him , $me )
  159. Pour ignorer des noms de chemins diffΘrents, utilisez
  160. $ set him @basename( $ him )
  161. Si vous avez les noms de fichiers sans les chemins, vous pouvez retrouver le
  162. chemin en 'search'ant le fichier temp.
  163.  
  164.  
  165. @opt et @arg sont utilisΘs chaque fois que vous avez qui spΘcifie dΘjα des
  166. arguments, mais autorise l'utilisateur α spΘcifier des options additionelles.
  167. $ alias sc "%a search @opt( $a ) *.c @arg( $a )
  168.  
  169.  
  170. @volume peut Ωtre utilisΘ pour tester si il y a un disque dans un certain
  171. lecteur. Il supprimera les requesters et retourne une chaεne vide s'il n'y
  172. a pas de disque.
  173.  
  174.  
  175.     VARIABLES
  176.  
  177.  
  178. $_except peut Ωtre rendue locale. Dans ce cas vous avez un traitement
  179. d'erreur spΘcial pour l'alias ou le fichier script courant.
  180.  
  181.  
  182. $_man peut contenir les noms de plus d'un fichier .doc. De cette faτon, vous
  183. pourriez ajouter de la documentation pour vos propres alias.
  184.  
  185.  
  186. Lorsque vous travaillez avec des gros fichiers et les pipes, vous pourriez
  187. souhaiter mettre $_pipe vers un rΘpertoire sur votre disque dur.
  188.  
  189.  
  190.     INTERPRETEUR
  191.  
  192.  
  193. Si vous avez besoin d'ajouter une chaεne α une variable, vous pouvez le faire
  194. de cette faτon:
  195. $ set toto truc
  196. $ echo $foo\bidule  --> trucbidule
  197. Le \ n'est pas nΘcessaire si le premier caractΦre de la chaεne α Ωtre ajoutΘe 
  198. n'est ni une lettre ni un chiffre.
  199.  
  200. Pour Ωtre s√r qu'aucune commande interne n'est exΘcutΘe, mettez la premiΦre 
  201. lettre de votre commande en majuscule:
  202. $ Dir ram: ALL
  203.  
  204. Pour ne pas tenir compte des alias existants sur une commande, entrez:
  205. $ alias echo "xxxxxx
  206. $ \echo bonjour   -->  bonjour
  207.   
  208.  
  209.  
  210.  
  211.