Re: shell

Top Page

Reply to this message
Author: Patrick Dupre
Date:  
To: Jérémy Bobbio
CC: guilde
Subject: Re: shell
Very Good,

C'est clair,
En fait il semblerait qu'il y avait quelques caracteres invisibles
qui aussi boggaient mon shell.


> On Mon, Mar 23, 2009 at 02:25:01PM +0100, Guillaume Allegre wrote:
>> Le Mon 23 Mar 2009 à 13:06 +0000, Patrick Dupre a ecrit :
>>> Bonjour,
>>>
>>> Dans un shell je fais unne commande (par example: mount), comment je
>>> peux tester le retour, (cad si le mount c'est bien passe) ?
>>>
>>> J'ai essaye: if [ $? != 0 ]
>>> mais cela ne fonctionne pas correctement !
>>
>> Tu utilises l'opérateur pour les chaînes, il te faut celui pour les entiers
>> ( -eq ou -ne ).
>> man bash, section CONDITIONAL EXPRESSIONS
>
> Mh… peut-être vaut-il mieux ré-expliquer la syntaxe de « if » pour
> commencer.
>
> Depuis dash(1) :
>
>  if list
>  then list
>  [ elif list
>  then    list ] ...
>  [ else list ]
>  fi

>
> « list » indique ici une liste de commandes. Pour la liste utilisé par
> « if » et « elif », si le code de retour de l'exécution de la liste est
> 0, alors la liste de commande qui se trouve après le « then » est
> exécuté.
>
> Donc tout simplement :
>
>  if mount /dev/sda1 /media/sda1; then
>    echo OK
>  else
>    echo KO
>  fi

>
> La construction que l'on voit généralement utilise la commande « [ »,
> souvent un builtin du shell, mais sous Debian, on peut aussi l'exécuter
> par "/usr/bin/[". Souvent c'est un lien en dur vers « /usr/bin/test ».
> Voir test(1) pour les détails.
>
> Suis-je clair ?
>
> À bientôt,
>


-- 
---
==========================================================================
  Patrick DUPRÉ                      |   |
  Department of Chemistry            |   |    Phone: (44)-(0)-1904-434384
  The University of York             |   |    Fax:   (44)-(0)-1904-432516
  Heslington                         |   |
  York YO10 5DD  United Kingdom      |   |    email: pd520@???
==========================================================================