PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.linux.config > executable nommé "["
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.linux.config Prise en main d'un système Linux.

executable nommé "["

Réponse
 
LinkBack Outils de la discussion
Vieux 30/03/2008, 10h27   #1
christian
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut executable nommé "["

Bonjour,

Quelqu'un sait-il à quoi sert /bin/[

~ $ ls -l /bin/[
-rwxr-xr-x 1 root root 24376 2006-06-25 03:59 /bin/[*

~ $ whatis [
grep: Expression régulière invalide
[: nothing appropriate

info et man et
http://packages.slackware.it/search....11.0&t=2&q=%5B
ne donnent rien non plus.
Google semble ignorer ce genre de caractère.

Merci de vos lumières

--
Christian
  Réponse avec citation
Vieux 30/03/2008, 11h47   #2
Luc Habert
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: executable nommé "["

christian :

> Quelqu'un sait-il à quoi sert /bin/[


C'est un autre nom de /bin/test. Quand il est invoqué sous ce nom, il faut
lui donner un ] en dernier argument. Il sert à tester des choses dans un
script shell. Genre:

if [ "$A" -lt 5 ]; then ...; fi

Ça fait une syntaxe un peu plus sympa que

if test "$A" -lt 5; then ...; fi

.. Enfin perso, j'utilise la seconde parce que je l'ai apprise en premier.
  Réponse avec citation
Vieux 30/03/2008, 12h06   #3
christian
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: executable nommé "["

Luc Habert a écrit:

> christian :
>
>> Quelqu'un sait-il à quoi sert /bin/[

>
> C'est un autre nom de /bin/test. Quand il est invoqué sous ce nom, il
> faut lui donner un ] en dernier argument. Il sert à tester des choses
> dans un script shell. Genre:
>
> if [ "$A" -lt 5 ]; then ...; fi



ok merci
je ne savais pas que les caractères spéciaux de bash pouvaient être des
executables

je vais étudier ça
http://abs.traduc.org/abs-4.2.01-fr/...ml#leftbracket
(chez moi /bin/[ n'est pas un lien vers /bin/test comme dit ici:
http://abs.traduc.org/abs-4.2.01-fr/ch07.html#ttestref
)

--
Christian
  Réponse avec citation
Vieux 30/03/2008, 15h12   #4
YBM
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: executable nommé "["

christian a écrit :
> ok merci
> je ne savais pas que les caractères spéciaux de bash pouvaient être des
> executables


En fait [ n'est absolument pas un caractère spécial (contrairement à ; (
) etc.). Dans bash c'est une commande interne (voir ci-dessous), donc
un if [ ... (ou un [ ... ] && ... ) va appeler cette commande qui a,
en gros, la même syntaxe que /usr/bin/test ou /usr/bin/[ :

$ type [ ; which [
[ is a shell builtin
/usr/bin/[
$ if [ coin = coin ] ; then echo coin ; fi
coin
$ if /usr/bin/[ coin = coin ] ; then echo coin ; fi
coin

Un shell plus minimaliste que bash pourrait très bien ne pas
avoir de commande interne [ que les mêmes scripts s'exécuteraient
de la même façon, juste un peu plus lentement à cause du
fork/exec de /usr/bin/[ à chaque if [ ...

  Réponse avec citation
Vieux 30/03/2008, 15h13   #5
Luc Habert
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: executable nommé "["

YBM :

> En fait [ n'est absolument pas un caractère spécial


Si, dans les motifs.
  Réponse avec citation
Vieux 30/03/2008, 15h52   #6
YBM
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: executable nommé "["

Luc Habert a écrit :
> YBM :
>
>> En fait [ n'est absolument pas un caractère spécial

>
> Si, dans les motifs.


Certes, donc [ n'est absolument pas un caractère spécial dans ce
contexte.
  Réponse avec citation
Vieux 30/03/2008, 16h10   #7
Luc Habert
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: executable nommé "["

YBM :

> Certes, donc [ n'est absolument pas un caractère spécial dans ce
> contexte.


Il suffirait qu'il y ait un crochet fermant plus loin dans le même mot pour
qu'il le devienne. Je trouve ton «absolument pas» absolument exagéré.
  Réponse avec citation
Vieux 30/03/2008, 16h16   #8
Luc Habert
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: executable nommé "["

Ce que je veux dire c'est qu'il faut aller voir plus loin que le caractère
pour décider de si il est spécial ou non. Je n'ai clairement pas envie
d'appeler ça un caractère absolument pas spécial.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 01h48.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,12804 seconds with 16 queries