Code Search for Developers
 
 
  

node9.html from Gulus at Krugle


Show node9.html syntax highlighted

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 99.2beta8 (1.42)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>La paresse</TITLE>
<META NAME="description" CONTENT="La paresse">
<META NAME="keywords" CONTENT="talk_bash">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v99.2beta8">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="talk_bash.css">

<LINK REL="next" HREF="node10.html">
<LINK REL="previous" HREF="node8.html">
<LINK REL="up" HREF="talk_bash.html">
<LINK REL="next" HREF="node10.html">
</HEAD>

<BODY >

<A NAME="tex2html260"
  HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="./icons/next.png"></A> 
<A NAME="tex2html256"
  HREF="talk_bash.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="./icons/up.png"></A> 
<A NAME="tex2html250"
  HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="./icons/prev.png"></A> 
<A NAME="tex2html258"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="./icons/contents.png"></A>  <BR>
<B> Next:</B> <A NAME="tex2html261"
  HREF="node10.html">Pour en savoir plus</A>
<B>Up:</B> <A NAME="tex2html257"
  HREF="talk_bash.html">La console - version</A>
<B> Previous:</B> <A NAME="tex2html251"
  HREF="node8.html">Détruire</A>
<BR> <HR> <P>

<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Sous-sections</STRONG></A>

<UL>
<LI><A NAME="tex2html262"
  HREF="node9.html#SECTION00091000000000000000">~/.bashrc -- personnalisation</A>
<UL>
<LI><A NAME="tex2html263"
  HREF="node9.html#SECTION00091100000000000000">Les alias</A>
<UL>
<LI><A NAME="tex2html264"
  HREF="node9.html#SECTION00091110000000000000">Exemples</A>
</UL>
</UL>
<LI><A NAME="tex2html265"
  HREF="node9.html#SECTION00092000000000000000">Les scripts</A>
</UL>
<!--End of Table of Child-Links-->
<HR>

<H1><A NAME="SECTION00090000000000000000">
La paresse</A>
</H1>

<P>
le BASH, comme tout Linux et cie, se personnalise à merveille. 
La configuration se trouve dans le fichier "&nbsp;/.bashrc". 

<P>
Par conventions, les fichiers systèmes commencent par un ".". Essayez <code>ls -a ~</code> pour les voir.

<P>

<H2><A NAME="SECTION00091000000000000000"></A>
<A NAME="sub:bashrc"></A>
<BR>
~/.bashrc -- personnalisation
</H2>
Le shell interprète les commandes que nous lui passons au clavier, mais il peut très bien lire ces commandes d'ailleurs: d'un fichier de configuration (bashrc), ou d'un texte contenant des commandes comprises par lui (script).

<P>

<H3><A NAME="SECTION00091100000000000000"></A>
<A NAME="subsub:alias"></A>
<BR>
Les alias
</H3>

<P>
<DL>
<DT><STRONG>alias:</STRONG></DT>
<DD>substitue NOM par EXPRESSION dans une requête à l'invite de commande.
</DD>
<DT><STRONG>Usage:</STRONG></DT>
<DD>alias [ NOM [=EXPRESSION] ]
</DD>
</DL>

<P>

<H4><A NAME="SECTION00091110000000000000">
Exemples</A>
</H4>

<UL>
<LI>Écrivez la ligne suivante dans le ~/.bashrc.
<BR><code>alias ls="ls -F --color=auto -v"</code>
<BR>
Ensuite, quand vous demandez <code>ls rep_bidon</code>, la commande que le shell comprendra plutôt <code>ls -F --color=auto -v rep_bidon</code>.

<P>
</LI>
<LI>En passant, pour des requêtes <code>Multilis</code> à la bibliothèque de Sherbrooke, se trouve dans mon ~/.bashrc:
<BR><code>alias bibli='telnet -l biblio catalo.biblio.usherb.ca'</code>

<P>
<A NAME="subsub:corbeille"></A></LI>
<LI>Enfin, on peut créer une corbeille et y déplacer ses fichiers à effacer plutôt que de le faire réellement. D'abord, quelque part, d'un nom arbitraire, doit exister un répertoire poubelle. Sur mon ordi, c'est "&nbsp;/.poubelle" ("/home/xbtheria/.poubelle").  Ensuite, dans le fichier de configuration "~/.bashrc", j'ai la ligne suivante:
<code>rm="mv --target-directory=~/.poubelle"</code>
</LI>
</UL>

<P>

<H2><A NAME="SECTION00092000000000000000"></A>
<A NAME="sub:scripts"></A>
<BR>
Les scripts
</H2>

<P>
Nous allons faire un premier script. Il ne sert à rien, mais qui sait ?? 

<P>

<UL>
<LI>Voici le script (contenu direct du fichier, nommé pour plus de clarté "inutile.sh":
<PRE>
#!/bin/bash
#
# Notes:
# 1) On peut mettre, comme je le fait ici, des commentaires, précédés de "#".
#
# 2) La première ligne commence toujours par "#!/l'interpréteur" indiquant par 
# là que le fichier est un script dont les commandes devront être lues et 
# comprises par l'interpréteur désigné, ici justement le shell bash, situé 
# au "/bin/bash". NB: ne pas oublier le "!"
#
# 3) Juste dessous vient quelques lignes sur le but et la façon d'utiliser; 
# pour que dans un an, par exemple, je sois capable de me resservir du script
#
#######
# inutile.sh: ajouter une ligne au début d'un fichier
# Usage: inutile FICHIER
#
# Mon premier script
#
# date : mer sep 05 17:50:56 EDT 2001 
#######


#       Variables internes au script
ligne="Voici la ligne inutile"
tmp=".tmp001"	# Ce fichier sera effacé à la fin du script

#       Annoncer le programme
echo "Le programme $0 s'éxécute sur le fichier $1"

#       Transfert du fichier dans un temporaire
cp $1 $tmp

#       Préparer et mettre la première ligne
echo $ligne &gt; $1

#       Remise du reste du texte
less $tmp &gt;&gt; $1

#       Destruction du fichier temporaire
rm $tmp
</PRE>

<P>
</LI>
<LI>Ceci fait, on tient maintenanant un fichier texte contenant des commandes. Il faut annoncer à Linux que ces lignes peuvent être interprétées. Pour ce faire, on change les permissions - le paquet de lettres quand on fait <code>ls -l</code> où on comprend que: r=read, w=write, x=execute -. Ici on demande d'ajouter la possibilité au propriétaire (u=user, utilisateur) d'éxécuter le fichier inutile.sh, via la commande chmod (change mode).

<P>
<code>chmod u+x inutile.sh</code>

<P>
C'est un peu rapide sur les permissions, mais bon. 

<P>
</LI>
<LI>On s'assure que le "x" apparaît au quatrième rang de l'expression des permissions.

<P>
<PRE>
utilisateur@hôte répertoire&gt; ls -l inutile.sh
-rwxr--r--    1 utilisateur groupe       567 sep  6 06:25 inutile.sh*
</PRE>

<P>
</LI>
<LI>C'est tout. C'est un script que l'on peut utiliser. Pour ce faire il faut cependant en indiquer le chemin, pex <code>./inutile.sh fichier</code> si le script est dans le répertoire courant ou
si c'est d'un autre répertoire, <code>~/exec_scripts/inutile.sh fichier</code>.

<P>
</LI>
<LI>On peut faire plus paresseux encore. Toujours. Quand on demande <code>commande</code> à l'invite, l'éxécutable COMMANDE n'est très généralement pas dans le répertoire actuel. BASH cherche dans une liste de répertoire pour le trouver. Cette liste est ajustable selon nos besoins. Ici, il faut ajouter le répertoire "&nbsp;/exec_scripts/" à cette liste. Dans le "&nbsp;/.bashrc", on ajoute (modifie) la ligne suivante:

<P>
<code>PATH="$PATH:$HOME/exec_scripts:."</code>

<P>
La variable système PATH, la liste des répertoires d'éxécutables, vaut maintenant son ancienne valeur "$PATH", auquel on ajoute notre répertoire. On aura compris que ":" est le délimiteur de cette liste.
Du même coup fut ajouté "." permettant l'accès aux exécutables du répertoire actuel sans les précéder de "./".
</LI>
</UL>

<P>
<HR>
<A NAME="tex2html260"
  HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="./icons/next.png"></A> 
<A NAME="tex2html256"
  HREF="talk_bash.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="./icons/up.png"></A> 
<A NAME="tex2html250"
  HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="./icons/prev.png"></A> 
<A NAME="tex2html258"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="./icons/contents.png"></A>  <BR>
<B> Next:</B> <A NAME="tex2html261"
  HREF="node10.html">Pour en savoir plus</A>
<B>Up:</B> <A NAME="tex2html257"
  HREF="talk_bash.html">La console - version</A>
<B> Previous:</B> <A NAME="tex2html251"
  HREF="node8.html">Détruire</A>

<!--End of Navigation Panel-->
<ADDRESS>
<I>Xavier Barnabe-Theriault <BR>
2001-09-20</I>
</ADDRESS>
</BODY>
</HTML>




See more files for this project here

Gulus

Groupe d\'Utilisateurs de Linux de l\'Universit? de Sherbrooke. http://www.gulus.org/

Project homepage: http://sourceforge.net/projects/gulus
Programming language(s): PHP,Shell Script
License: other

  icons/
    contents.png
    next.png
    next_g.png
    prev.png
    prev_g.png
    up.png
    up_g.png
  index.html
  node1.html
  node10.html
  node11.html
  node2.html
  node3.html
  node4.html
  node5.html
  node6.html
  node7.html
  node8.html
  node9.html
  talk_bash.css
  talk_bash.html