|
|
|
|
||||||
| fr.comp.os.linux.config Prise en main d'un système Linux. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
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 [ ... |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
YBM :
> En fait [ n'est absolument pas un caractère spécial Si, dans les motifs. |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
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. |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
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é. |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
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. |
|
![]() |
| Outils de la discussion | |
|
|