je me suis lancé dans la traduction du Bash Guide for Beginners :
http://www.traduc.org/docs/guides/lecture/Bash-Beginners-Guide/html/
et je bute sur une phrase ayant trait à la construction [[ :
"Conditional expressions are used by the [[ compound command and by the
test and [ built-in commands."
Cette phrase sort directement des pages info de bash d'ailleurs.
Que dois-je entendre par "compound command" ? [[ n'est pas une commande
interne ?
Merci d'avance de votre aide.
Christophe
--
Christophe Gaubert
http://perso.wanadoo.fr/christophe.gaubert
Mail posté depuis un système libre GNU/Linux
Que dois-je entendre par "compound command" ? [[ n'est pas une commande interne ?
compound command = commande composée.
Une commande composée est une commande qui sert à contrôler le flux d'exécution des commandes et qui est formée d'un mot-clé de début et d'un mot-clé de fin. Les boucles for/while/until et les conditionnelles if/case, par exemple, sont des commandes composées.
Cela n'a rien à voir avec le fait qu'elle soit interne ou pas.
Que dois-je entendre par "compound command" ? [[ n'est pas une commande
interne ?
compound command = commande composée.
Une commande composée est une commande qui sert à contrôler le flux
d'exécution des commandes et qui est formée d'un mot-clé de début et
d'un mot-clé de fin. Les boucles for/while/until et les
conditionnelles if/case, par exemple, sont des commandes composées.
Cela n'a rien à voir avec le fait qu'elle soit interne ou pas.
Que dois-je entendre par "compound command" ? [[ n'est pas une commande interne ?
compound command = commande composée.
Une commande composée est une commande qui sert à contrôler le flux d'exécution des commandes et qui est formée d'un mot-clé de début et d'un mot-clé de fin. Les boucles for/while/until et les conditionnelles if/case, par exemple, sont des commandes composées.
Cela n'a rien à voir avec le fait qu'elle soit interne ou pas.
-- Éric Jacoboni, né il y a 1428533304 secondes
Pascal Bourguignon
Christophe Gaubert writes:
Bonjour à tous,
je me suis lancé dans la traduction du Bash Guide for Beginners : http://www.traduc.org/docs/guides/lecture/Bash-Beginners-Guide/html/ et je bute sur une phrase ayant trait à la construction [[ :
"Conditional expressions are used by the [[ compound command and by the test and [ built-in commands."
Cette phrase sort directement des pages info de bash d'ailleurs.
Que dois-je entendre par "compound command" ? [[ n'est pas une commande interne ?
man bash Chercher "Compound command". Une définition par extension est donnée.
On peut traduire litéralement par commande composée.
-- "Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!"
je me suis lancé dans la traduction du Bash Guide for Beginners :
http://www.traduc.org/docs/guides/lecture/Bash-Beginners-Guide/html/
et je bute sur une phrase ayant trait à la construction [[ :
"Conditional expressions are used by the [[ compound command and by
the test and [ built-in commands."
Cette phrase sort directement des pages info de bash d'ailleurs.
Que dois-je entendre par "compound command" ? [[ n'est pas une
commande interne ?
man bash
Chercher "Compound command". Une définition par extension est donnée.
On peut traduire litéralement par commande composée.
--
"Our users will know fear and cower before our software! Ship it!
Ship it and let them flee like the dogs they are!"
je me suis lancé dans la traduction du Bash Guide for Beginners : http://www.traduc.org/docs/guides/lecture/Bash-Beginners-Guide/html/ et je bute sur une phrase ayant trait à la construction [[ :
"Conditional expressions are used by the [[ compound command and by the test and [ built-in commands."
Cette phrase sort directement des pages info de bash d'ailleurs.
Que dois-je entendre par "compound command" ? [[ n'est pas une commande interne ?
man bash Chercher "Compound command". Une définition par extension est donnée.
On peut traduire litéralement par commande composée.
-- "Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!"
Christophe Gaubert
Une commande composée est une commande qui sert à contrôler le flux d'exécution des commandes et qui est formée d'un mot-clé de début et d'un mot-clé de fin. Les boucles for/while/until et les conditionnelles if/case, par exemple, sont des commandes composées.
Cela n'a rien à voir avec le fait qu'elle soit interne ou pas.
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut différent à [[ et [ dans cette phrase. Pourquoi est-ce que [ n'est pas considéré comme une commande composée ?
merci.
-- Christophe Gaubert http://perso.wanadoo.fr/christophe.gaubert Mail posté depuis un système libre GNU/Linux
Une commande composée est une commande qui sert à contrôler le flux
d'exécution des commandes et qui est formée d'un mot-clé de début et
d'un mot-clé de fin. Les boucles for/while/until et les
conditionnelles if/case, par exemple, sont des commandes composées.
Cela n'a rien à voir avec le fait qu'elle soit interne ou pas.
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut
différent à [[ et [ dans cette phrase. Pourquoi est-ce que [ n'est pas
considéré comme une commande composée ?
merci.
--
Christophe Gaubert
http://perso.wanadoo.fr/christophe.gaubert
Mail posté depuis un système libre GNU/Linux
Une commande composée est une commande qui sert à contrôler le flux d'exécution des commandes et qui est formée d'un mot-clé de début et d'un mot-clé de fin. Les boucles for/while/until et les conditionnelles if/case, par exemple, sont des commandes composées.
Cela n'a rien à voir avec le fait qu'elle soit interne ou pas.
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut différent à [[ et [ dans cette phrase. Pourquoi est-ce que [ n'est pas considéré comme une commande composée ?
merci.
-- Christophe Gaubert http://perso.wanadoo.fr/christophe.gaubert Mail posté depuis un système libre GNU/Linux
Christophe Gaubert
man bash Chercher "Compound command". Une définition par extension est donnée.
On peut traduire litéralement par commande composée.
Oups. Je n'avais pas vu qu'il en était question dans le manuel. Ceci dit, ça n'invalide pas la question que je me pose dans l'autre message. Pourquoi [ n'est-il pas rangé dans les commandes composées ?
-- Christophe Gaubert http://perso.wanadoo.fr/christophe.gaubert Mail posté depuis un système libre GNU/Linux
man bash
Chercher "Compound command". Une définition par extension est donnée.
On peut traduire litéralement par commande composée.
Oups. Je n'avais pas vu qu'il en était question dans le manuel. Ceci
dit, ça n'invalide pas la question que je me pose dans l'autre message.
Pourquoi [ n'est-il pas rangé dans les commandes composées ?
--
Christophe Gaubert
http://perso.wanadoo.fr/christophe.gaubert
Mail posté depuis un système libre GNU/Linux
man bash Chercher "Compound command". Une définition par extension est donnée.
On peut traduire litéralement par commande composée.
Oups. Je n'avais pas vu qu'il en était question dans le manuel. Ceci dit, ça n'invalide pas la question que je me pose dans l'autre message. Pourquoi [ n'est-il pas rangé dans les commandes composées ?
-- Christophe Gaubert http://perso.wanadoo.fr/christophe.gaubert Mail posté depuis un système libre GNU/Linux
Eric Jacoboni
Christophe Gaubert writes:
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut différent à [[ et [ dans cette phrase.
Parce que [[ et [ n'ont pas le même statut (historiquement, en tous cas).
Pourquoi est-ce que [ n'est pas considéré comme une commande composée ?
[ est simplement une autre façon de noter la commande test, alors que [[ est une extension de celle-ci, introduite par ksh. Alors, après, ces histoires de commandes composées ou non... J'imagine que test n'étant pas considérée comme une commande composée, [ ne l'est pas non plus.
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut
différent à [[ et [ dans cette phrase.
Parce que [[ et [ n'ont pas le même statut (historiquement, en tous cas).
Pourquoi est-ce que [ n'est pas considéré comme une commande
composée ?
[ est simplement une autre façon de noter la commande test, alors que
[[ est une extension de celle-ci, introduite par ksh. Alors, après,
ces histoires de commandes composées ou non... J'imagine que test
n'étant pas considérée comme une commande composée, [ ne l'est pas non
plus.
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut différent à [[ et [ dans cette phrase.
Parce que [[ et [ n'ont pas le même statut (historiquement, en tous cas).
Pourquoi est-ce que [ n'est pas considéré comme une commande composée ?
[ est simplement une autre façon de noter la commande test, alors que [[ est une extension de celle-ci, introduite par ksh. Alors, après, ces histoires de commandes composées ou non... J'imagine que test n'étant pas considérée comme une commande composée, [ ne l'est pas non plus.
-- Éric Jacoboni, né il y a 1428539560 secondes
Eric Jacoboni
Christophe Gaubert writes:
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut différent à [[ et [ dans cette phrase.
Parce que [[ et [ n'ont pas le même statut (historiquement, en tous cas).
Pourquoi est-ce que [ n'est pas considéré comme une commande composée ?
[ est simplement une autre façon de noter la commande test, alors que [[ est une extension de celle-ci, introduite par ksh.
test et [ sont, au départ, des utilitaires externes au shell (cf /bin/test et /bin/[ ). Pour des raisons d'efficacité, les shells les ont intégrées comme commandes internes.
[[, elle, n'existe que comme commande interne du shell, tout comme if/while et cie.
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut
différent à [[ et [ dans cette phrase.
Parce que [[ et [ n'ont pas le même statut (historiquement, en tous cas).
Pourquoi est-ce que [ n'est pas considéré comme une commande
composée ?
[ est simplement une autre façon de noter la commande test, alors que
[[ est une extension de celle-ci, introduite par ksh.
test et [ sont, au départ, des utilitaires externes au shell (cf
/bin/test et /bin/[ ). Pour des raisons d'efficacité, les shells les
ont intégrées comme commandes internes.
[[, elle, n'existe que comme commande interne du shell, tout comme
if/while et cie.
D'accord, mais je ne saisis pas bien pourquoi il est donné un statut différent à [[ et [ dans cette phrase.
Parce que [[ et [ n'ont pas le même statut (historiquement, en tous cas).
Pourquoi est-ce que [ n'est pas considéré comme une commande composée ?
[ est simplement une autre façon de noter la commande test, alors que [[ est une extension de celle-ci, introduite par ksh.
test et [ sont, au départ, des utilitaires externes au shell (cf /bin/test et /bin/[ ). Pour des raisons d'efficacité, les shells les ont intégrées comme commandes internes.
[[, elle, n'existe que comme commande interne du shell, tout comme if/while et cie.
-- Éric Jacoboni, né il y a 1428539560 secondes
Pascal Bourguignon
Christophe Gaubert writes:
man bash Chercher "Compound command". Une définition par extension est donnée. On peut traduire litéralement par commande composée.
Oups. Je n'avais pas vu qu'il en était question dans le manuel. Ceci dit, ça n'invalide pas la question que je me pose dans l'autre message. Pourquoi [ n'est-il pas rangé dans les commandes composées ?
Parce que [ n'est pas composé!
if commande ; then commande ; else commande ; fi
La commande if est composée de plusieurs autres commandes.
[ data op data ]
La commande [ n'est pas composée d'autre commandes.
On peut effectivement se poser la question pourquoi [[ est classée dans les commandes composée alors qu'elle ne se compose d'aucune sous-commande apparement. Je pense que la réponse est:
The && and || operators do not evaluate expression2 if the value of expression1 is sufficient to determine the return value of the entire conditional expression.
C'est à dire, que && et || dans [[ se comportent comme && et || dans les listes (qui sont des commandes composées), et pas comme -a et -o dans [. (Peut être partagent ils le même code?)
man bash Chercher "Compound command". Une définition par extension
est donnée.
On peut traduire litéralement par commande composée.
Oups. Je n'avais pas vu qu'il en était question dans le manuel. Ceci
dit, ça n'invalide pas la question que je me pose dans l'autre
message. Pourquoi [ n'est-il pas rangé dans les commandes composées ?
Parce que [ n'est pas composé!
if commande ; then commande ; else commande ; fi
La commande if est composée de plusieurs autres commandes.
[ data op data ]
La commande [ n'est pas composée d'autre commandes.
On peut effectivement se poser la question pourquoi [[ est classée
dans les commandes composée alors qu'elle ne se compose d'aucune
sous-commande apparement. Je pense que la réponse est:
The && and || operators do not evaluate expression2 if the
value of expression1 is sufficient to determine the return
value of the entire conditional expression.
C'est à dire, que && et || dans [[ se comportent comme && et || dans
les listes (qui sont des commandes composées), et pas comme -a et -o
dans [. (Peut être partagent ils le même code?)
man bash Chercher "Compound command". Une définition par extension est donnée. On peut traduire litéralement par commande composée.
Oups. Je n'avais pas vu qu'il en était question dans le manuel. Ceci dit, ça n'invalide pas la question que je me pose dans l'autre message. Pourquoi [ n'est-il pas rangé dans les commandes composées ?
Parce que [ n'est pas composé!
if commande ; then commande ; else commande ; fi
La commande if est composée de plusieurs autres commandes.
[ data op data ]
La commande [ n'est pas composée d'autre commandes.
On peut effectivement se poser la question pourquoi [[ est classée dans les commandes composée alors qu'elle ne se compose d'aucune sous-commande apparement. Je pense que la réponse est:
The && and || operators do not evaluate expression2 if the value of expression1 is sufficient to determine the return value of the entire conditional expression.
C'est à dire, que && et || dans [[ se comportent comme && et || dans les listes (qui sont des commandes composées), et pas comme -a et -o dans [. (Peut être partagent ils le même code?)
-- __Pascal Bourguignon__ http://www.informatimago.com/ Small brave carnivores Kill pine cones and mosquitoes Fear vacuum cleaner
Jean-Louis Liagre
La commande [ n'est pas composée d'autre commandes.
On peut effectivement se poser la question pourquoi [[ est classée dans les commandes composée alors qu'elle ne se compose d'aucune sous-commande apparement.
Si, la commande "[[" est bien composée car elle exige le délimiteur de fin "]]", alors qu'avec la commande "test", le "]" est optionnel.
Plus exactement, il est obligatoire si le synonyme "[" est utilisé, et parfois accepté quand "test" est utilisé. Ca dépend des shells, bourne shell et ksh en veulent bien, mais bash refuse ...
La commande [ n'est pas composée d'autre commandes.
On peut effectivement se poser la question pourquoi [[ est classée
dans les commandes composée alors qu'elle ne se compose d'aucune
sous-commande apparement.
Si, la commande "[[" est bien composée car elle exige le délimiteur
de fin "]]", alors qu'avec la commande "test", le "]" est optionnel.
Plus exactement, il est obligatoire si le synonyme "[" est
utilisé, et parfois accepté quand "test" est utilisé.
Ca dépend des shells, bourne shell et ksh en veulent bien,
mais bash refuse ...
La commande [ n'est pas composée d'autre commandes.
On peut effectivement se poser la question pourquoi [[ est classée dans les commandes composée alors qu'elle ne se compose d'aucune sous-commande apparement.
Si, la commande "[[" est bien composée car elle exige le délimiteur de fin "]]", alors qu'avec la commande "test", le "]" est optionnel.
Plus exactement, il est obligatoire si le synonyme "[" est utilisé, et parfois accepté quand "test" est utilisé. Ca dépend des shells, bourne shell et ksh en veulent bien, mais bash refuse ...
Christophe Gaubert
Pourquoi [ n'est-il pas rangé dans les commandes composées ?
Pour résumer vos avis : - différence dûe au comportement de &&, || et -a, -o - différence de statut historique - différence car [[ exige un délimiteur de fin
Bon, pourquoi pas... Mais je ne suis pas convaincu de la pertinence de cette classification.
Merci de votre aide :)
-- Christophe Gaubert http://perso.wanadoo.fr/christophe.gaubert Mail posté depuis un système libre GNU/Linux
Pourquoi [ n'est-il pas rangé dans les commandes composées ?
Pour résumer vos avis :
- différence dûe au comportement de &&, || et -a, -o
- différence de statut historique
- différence car [[ exige un délimiteur de fin
Bon, pourquoi pas... Mais je ne suis pas convaincu de la pertinence de
cette classification.
Merci de votre aide :)
--
Christophe Gaubert
http://perso.wanadoo.fr/christophe.gaubert
Mail posté depuis un système libre GNU/Linux
Pourquoi [ n'est-il pas rangé dans les commandes composées ?
Pour résumer vos avis : - différence dûe au comportement de &&, || et -a, -o - différence de statut historique - différence car [[ exige un délimiteur de fin
Bon, pourquoi pas... Mais je ne suis pas convaincu de la pertinence de cette classification.
Merci de votre aide :)
-- Christophe Gaubert http://perso.wanadoo.fr/christophe.gaubert Mail posté depuis un système libre GNU/Linux
Eric Jacoboni
Christophe Gaubert writes:
- différence dûe au comportement de &&, || et -a, -o - différence de statut historique - différence car [[ exige un délimiteur de fin
Il manque surtout le fait que [ est un synonyme de test, qui n'est pas une commande mais, au départ, un utilitaire externe, alors que [[ est une commande du shell (cf. posts précédents).
- différence dûe au comportement de &&, || et -a, -o
- différence de statut historique
- différence car [[ exige un délimiteur de fin
Il manque surtout le fait que [ est un synonyme de test, qui n'est pas
une commande mais, au départ, un utilitaire externe, alors que [[ est
une commande du shell (cf. posts précédents).
- différence dûe au comportement de &&, || et -a, -o - différence de statut historique - différence car [[ exige un délimiteur de fin
Il manque surtout le fait que [ est un synonyme de test, qui n'est pas une commande mais, au départ, un utilitaire externe, alors que [[ est une commande du shell (cf. posts précédents).