| Les gens qui programment proprement le redéfinissent à chaque
Oh. Mon trollomètre vient de passer dans le rouge-oranger :)
| fois qu'ils l'utilisent, même si la valeur par défaut convient
| tout au long du script pour des raisons évidentes de
| maintenabilité (si un jour, en rajoutant une fonctionnalité, on
| a besoin d'une autre valeur d'IFS, il faudrait soit aller fixer
| IFS à tous les endroits où il est utilisé ou faire des trucs
| crades comme:
[...]
Pourquoi faire des trucs crades alors qu'il suffit de le redéfinir ?
| En plus, la valeur par défaut (qui contient " ") pose de plus en
Juste " " ? Tu en es sûr ? Il me semble qu'il contient :
- espace
- tab
- newline
Oui... D'un autre côté, le séparateur de champs entre les
arguments des commandes, c'est aussi l'espace, donc bon...
Faudrait virer tous les fichiers avec des espaces dans le
nom.
De totues façons, les espaces dans un nom de ficheir ça perturbe
la lecture de ls :)
| Les gens qui programment proprement le redéfinissent à chaque
Oh. Mon trollomètre vient de passer dans le rouge-oranger :)
| fois qu'ils l'utilisent, même si la valeur par défaut convient
| tout au long du script pour des raisons évidentes de
| maintenabilité (si un jour, en rajoutant une fonctionnalité, on
| a besoin d'une autre valeur d'IFS, il faudrait soit aller fixer
| IFS à tous les endroits où il est utilisé ou faire des trucs
| crades comme:
[...]
Pourquoi faire des trucs crades alors qu'il suffit de le redéfinir ?
| En plus, la valeur par défaut (qui contient " ") pose de plus en
Juste " " ? Tu en es sûr ? Il me semble qu'il contient :
- espace
- tab
- newline
Oui... D'un autre côté, le séparateur de champs entre les
arguments des commandes, c'est aussi l'espace, donc bon...
Faudrait virer tous les fichiers avec des espaces dans le
nom.
De totues façons, les espaces dans un nom de ficheir ça perturbe
la lecture de ls :)
| Les gens qui programment proprement le redéfinissent à chaque
Oh. Mon trollomètre vient de passer dans le rouge-oranger :)
| fois qu'ils l'utilisent, même si la valeur par défaut convient
| tout au long du script pour des raisons évidentes de
| maintenabilité (si un jour, en rajoutant une fonctionnalité, on
| a besoin d'une autre valeur d'IFS, il faudrait soit aller fixer
| IFS à tous les endroits où il est utilisé ou faire des trucs
| crades comme:
[...]
Pourquoi faire des trucs crades alors qu'il suffit de le redéfinir ?
| En plus, la valeur par défaut (qui contient " ") pose de plus en
Juste " " ? Tu en es sûr ? Il me semble qu'il contient :
- espace
- tab
- newline
Oui... D'un autre côté, le séparateur de champs entre les
arguments des commandes, c'est aussi l'espace, donc bon...
Faudrait virer tous les fichiers avec des espaces dans le
nom.
De totues façons, les espaces dans un nom de ficheir ça perturbe
la lecture de ls :)
| Nous sommes donc d'accord, il faut le redéfinir à chaque fois
| qu'on l'utilise.
s/l'utilise/en a besoin/ :)
On peut l'utiliser sans avoir besoin de le modifier... Mais je
pinaille...
| Ça n'a rien à voir. Dans la syntaxe C, le séparateur d'arguments
| est ",", je ne crois pas qu'il y ait pour autant des problèmes
| avec les variables qui contiennent des "," pour faire une
C'est un peu normal : je n'ai jamais vu de variable telle que
var = ,;
Mais
var = ",";
ne pose pas de pb puisque la vigule est entre double quotes.
Pareil que pour les espaces pour les shells.
| comparaison extrème (on n'est plus au temps des premiers shells
| Bourne où IFS avait une influence sur le parsing de la syntaxe).
Explique-toi : comment la suppression de l'espace dans IFS n'influe
pas sur la séparation des arguments des commandes et la combinaison
de plusieurs commandes ?
Un fichier que tu passes en paramètre n'est pas une variable, mais
un élément à parser. C'est comme ça que je le vois. Pour extraire
les éléments de la ligne de commande je vois bien l'utilisation de
strtok/strtok_r avec IFS en séparateur de champs (comme ses initiales
l'indique --- je n'ai pas regardé pour voir comment c'était fait).
On peut faire quelquechose sous Windows :) ?
| ls ? À quoi ça sert quand on a la complétion en couleur ;) ?
Oh ?
| Nous sommes donc d'accord, il faut le redéfinir à chaque fois
| qu'on l'utilise.
s/l'utilise/en a besoin/ :)
On peut l'utiliser sans avoir besoin de le modifier... Mais je
pinaille...
| Ça n'a rien à voir. Dans la syntaxe C, le séparateur d'arguments
| est ",", je ne crois pas qu'il y ait pour autant des problèmes
| avec les variables qui contiennent des "," pour faire une
C'est un peu normal : je n'ai jamais vu de variable telle que
var = ,;
Mais
var = ",";
ne pose pas de pb puisque la vigule est entre double quotes.
Pareil que pour les espaces pour les shells.
| comparaison extrème (on n'est plus au temps des premiers shells
| Bourne où IFS avait une influence sur le parsing de la syntaxe).
Explique-toi : comment la suppression de l'espace dans IFS n'influe
pas sur la séparation des arguments des commandes et la combinaison
de plusieurs commandes ?
Un fichier que tu passes en paramètre n'est pas une variable, mais
un élément à parser. C'est comme ça que je le vois. Pour extraire
les éléments de la ligne de commande je vois bien l'utilisation de
strtok/strtok_r avec IFS en séparateur de champs (comme ses initiales
l'indique --- je n'ai pas regardé pour voir comment c'était fait).
On peut faire quelquechose sous Windows :) ?
| ls ? À quoi ça sert quand on a la complétion en couleur ;) ?
Oh ?
| Nous sommes donc d'accord, il faut le redéfinir à chaque fois
| qu'on l'utilise.
s/l'utilise/en a besoin/ :)
On peut l'utiliser sans avoir besoin de le modifier... Mais je
pinaille...
| Ça n'a rien à voir. Dans la syntaxe C, le séparateur d'arguments
| est ",", je ne crois pas qu'il y ait pour autant des problèmes
| avec les variables qui contiennent des "," pour faire une
C'est un peu normal : je n'ai jamais vu de variable telle que
var = ,;
Mais
var = ",";
ne pose pas de pb puisque la vigule est entre double quotes.
Pareil que pour les espaces pour les shells.
| comparaison extrème (on n'est plus au temps des premiers shells
| Bourne où IFS avait une influence sur le parsing de la syntaxe).
Explique-toi : comment la suppression de l'espace dans IFS n'influe
pas sur la séparation des arguments des commandes et la combinaison
de plusieurs commandes ?
Un fichier que tu passes en paramètre n'est pas une variable, mais
un élément à parser. C'est comme ça que je le vois. Pour extraire
les éléments de la ligne de commande je vois bien l'utilisation de
strtok/strtok_r avec IFS en séparateur de champs (comme ses initiales
l'indique --- je n'ai pas regardé pour voir comment c'était fait).
On peut faire quelquechose sous Windows :) ?
| ls ? À quoi ça sert quand on a la complétion en couleur ;) ?
Oh ?
| cmd $(other cmd)
|
| n'a pas de sens sauf si on connait la valeur d'IFS. Pour des
Aaahhh okok.
J'avais pas compris ça. Il faut dire que j'utilise rarement
cette forme : plus souvent var=`cmd1 | cmd2` puis cmd $var
| Aujourd'hui non. Le parsing de la syntaxe est a priori
| indépendant de l'exécution (à part quand les alias rentrent en
| jeu ce qui fait une bonne raison de ne pas utiliser les alias).
Hum. Tu veux dire que le parsing n'utilise pas IFS ?
| > On peut faire quelquechose sous Windows :) ?
|
| J'y ai installé zsh sans trop de problème.
Je parle de trucs utiles pour _produire_ directement quelquechose ;)
| cmd $(other cmd)
|
| n'a pas de sens sauf si on connait la valeur d'IFS. Pour des
Aaahhh okok.
J'avais pas compris ça. Il faut dire que j'utilise rarement
cette forme : plus souvent var=`cmd1 | cmd2` puis cmd $var
| Aujourd'hui non. Le parsing de la syntaxe est a priori
| indépendant de l'exécution (à part quand les alias rentrent en
| jeu ce qui fait une bonne raison de ne pas utiliser les alias).
Hum. Tu veux dire que le parsing n'utilise pas IFS ?
| > On peut faire quelquechose sous Windows :) ?
|
| J'y ai installé zsh sans trop de problème.
Je parle de trucs utiles pour _produire_ directement quelquechose ;)
| cmd $(other cmd)
|
| n'a pas de sens sauf si on connait la valeur d'IFS. Pour des
Aaahhh okok.
J'avais pas compris ça. Il faut dire que j'utilise rarement
cette forme : plus souvent var=`cmd1 | cmd2` puis cmd $var
| Aujourd'hui non. Le parsing de la syntaxe est a priori
| indépendant de l'exécution (à part quand les alias rentrent en
| jeu ce qui fait une bonne raison de ne pas utiliser les alias).
Hum. Tu veux dire que le parsing n'utilise pas IFS ?
| > On peut faire quelquechose sous Windows :) ?
|
| J'y ai installé zsh sans trop de problème.
Je parle de trucs utiles pour _produire_ directement quelquechose ;)