bonjour :-)
avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
ce qui est faux, ici, c'est que tu cree le repertoire
cd sauvegardes/
pour creer le dossier si il existe pas
bonjour :-)
avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
ce qui est faux, ici, c'est que tu cree le repertoire
cd sauvegardes/
pour creer le dossier si il existe pas
bonjour :-)
avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
ce qui est faux, ici, c'est que tu cree le repertoire
cd sauvegardes/
pour creer le dossier si il existe pas
test ! -e sauvegardes -a ! -d sauvegardes && mkdir sauvegardes
car si sauvegardes est un fichier, test -d sauvegardes sera
faux et mkdir sauvegardes ne fonctionnera pas. test -e sauvegardes
permet de s'assurer que sauvegardes n'existe pas, qu'il s'agisse
d'un fichier ou d'un répertoire.
[...]
test ! -e sauvegardes -a ! -d sauvegardes && mkdir sauvegardes
car si sauvegardes est un fichier, test -d sauvegardes sera
faux et mkdir sauvegardes ne fonctionnera pas. test -e sauvegardes
permet de s'assurer que sauvegardes n'existe pas, qu'il s'agisse
d'un fichier ou d'un répertoire.
[...]
test ! -e sauvegardes -a ! -d sauvegardes && mkdir sauvegardes
car si sauvegardes est un fichier, test -d sauvegardes sera
faux et mkdir sauvegardes ne fonctionnera pas. test -e sauvegardes
permet de s'assurer que sauvegardes n'existe pas, qu'il s'agisse
d'un fichier ou d'un répertoire.
[...]
On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
L'autre solution ouvre la porte à des race conditions.
On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
L'autre solution ouvre la porte à des race conditions.
On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
L'autre solution ouvre la porte à des race conditions.
In article <469a9af0$0$26382$,
Nicolas George <nicolas$ wrote:On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
si j'ai bien compris c'est avec " || exit" que ça se fait ?
si il y a le moindre pb, ça arrête le script ?
génial :-)
en fait, il faudrait que j'en étale partout dans mes scripts, pour que
ça s'arrête des qu'il y a un pb ? :-)
est ce que vous me le recommandez ?
L'autre solution ouvre la porte à des race conditions.
c'est quoi cette race là ? :-D
In article <469a9af0$0$26382$426a74cc@news.free.fr>,
Nicolas George <nicolas$george@salle-s.org> wrote:
On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
si j'ai bien compris c'est avec " || exit" que ça se fait ?
si il y a le moindre pb, ça arrête le script ?
génial :-)
en fait, il faudrait que j'en étale partout dans mes scripts, pour que
ça s'arrête des qu'il y a un pb ? :-)
est ce que vous me le recommandez ?
L'autre solution ouvre la porte à des race conditions.
c'est quoi cette race là ? :-D
In article <469a9af0$0$26382$,
Nicolas George <nicolas$ wrote:On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
si j'ai bien compris c'est avec " || exit" que ça se fait ?
si il y a le moindre pb, ça arrête le script ?
génial :-)
en fait, il faudrait que j'en étale partout dans mes scripts, pour que
ça s'arrête des qu'il y a un pb ? :-)
est ce que vous me le recommandez ?
L'autre solution ouvre la porte à des race conditions.
c'est quoi cette race là ? :-D
avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
ce qui est faux, ici, c'est que tu cree le repertoire
sauvegardes s'il existe !
mkdir -p sauvegarde || exit
cd sauvegardes/
quand au cd, il est vrai qu'il est préférable de faire un
cd sauvegardes || exit
comme le précise Stéphane, surtout si tu fais des rm derrière.
imagine que le cd n'a pas fonctionné...
tu fais les rm ou il ne faut pas :(
avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
ce qui est faux, ici, c'est que tu cree le repertoire
sauvegardes s'il existe !
mkdir -p sauvegarde || exit
cd sauvegardes/
quand au cd, il est vrai qu'il est préférable de faire un
cd sauvegardes || exit
comme le précise Stéphane, surtout si tu fais des rm derrière.
imagine que le cd n'a pas fonctionné...
tu fais les rm ou il ne faut pas :(
avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
ce qui est faux, ici, c'est que tu cree le repertoire
sauvegardes s'il existe !
mkdir -p sauvegarde || exit
cd sauvegardes/
quand au cd, il est vrai qu'il est préférable de faire un
cd sauvegardes || exit
comme le précise Stéphane, surtout si tu fais des rm derrière.
imagine que le cd n'a pas fonctionné...
tu fais les rm ou il ne faut pas :(
2007-07-15, 11:53(+02), Thomas:
[...]avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
cd sauvegardes/
pour creer le dossier si il existe pas
(avec
#!/bin/sh -
)
pendant que j'essaye de reparer mes ****ries,
est ce que qqn peut m'indiquer comment on inverse le test svp ?
Je te suggere plutot:
mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
Le Bourne shell ne connait pas la syntaxe ! cmd.
2007-07-15, 11:53(+02), Thomas:
[...]
avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
cd sauvegardes/
pour creer le dossier si il existe pas
(avec
#!/bin/sh -
)
pendant que j'essaye de reparer mes ****ries,
est ce que qqn peut m'indiquer comment on inverse le test svp ?
Je te suggere plutot:
mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
Le Bourne shell ne connait pas la syntaxe ! cmd.
2007-07-15, 11:53(+02), Thomas:
[...]avant je faisait
test -d sauvegardes/ && cd sauvegardes/
pour aller dans le dossier seulement si il existe,
et comme un *** j'ai transformé ca en
test -d sauvegardes/ && mkdir sauvegardes/
cd sauvegardes/
pour creer le dossier si il existe pas
(avec
#!/bin/sh -
)
pendant que j'essaye de reparer mes ****ries,
est ce que qqn peut m'indiquer comment on inverse le test svp ?
Je te suggere plutot:
mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
Le Bourne shell ne connait pas la syntaxe ! cmd.
mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
"2>" c'est pour rediriger toutes les sorties, pour qu'on ne voit rien
s'afficher quoi qu'il arrive ? c'est pas "&>" ?
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
ah bon ??
il y a très longtemps on m'a dit le contraire :
je ne mettais rien du tout, et on m'a dit qu'il fallait mieux mettre
"#!/bin/sh -" au début des scripts (pour être bien sur de .... je ne
sais plus)
et donc si on met *rien du tout*, c'est plus (+) portable ?
[...]
mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
"2>" c'est pour rediriger toutes les sorties, pour qu'on ne voit rien
s'afficher quoi qu'il arrive ? c'est pas "&>" ?
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
ah bon ??
il y a très longtemps on m'a dit le contraire :
je ne mettais rien du tout, et on m'a dit qu'il fallait mieux mettre
"#!/bin/sh -" au début des scripts (pour être bien sur de .... je ne
sais plus)
et donc si on met *rien du tout*, c'est plus (+) portable ?
[...]
mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
"2>" c'est pour rediriger toutes les sorties, pour qu'on ne voit rien
s'afficher quoi qu'il arrive ? c'est pas "&>" ?
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
ah bon ??
il y a très longtemps on m'a dit le contraire :
je ne mettais rien du tout, et on m'a dit qu'il fallait mieux mettre
"#!/bin/sh -" au début des scripts (pour être bien sur de .... je ne
sais plus)
et donc si on met *rien du tout*, c'est plus (+) portable ?
[...]
2007-09-03, 15:31(+02), Thomas:
[...]mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
"2>" c'est pour rediriger toutes les sorties, pour qu'on ne voit rien
s'afficher quoi qu'il arrive ? c'est pas "&>" ?
Pour rediriger les erreurs. Le fd 2 d'un process est sa sortie
d'erreur, le fd 1 sa sortie standard. cmd > file est un
raccourci pour cmd 1> file, cmd &> file est un raccourci
non-standard pour cmd 1> file 2>&1.
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
ah bon ??
il y a très longtemps on m'a dit le contraire :
je ne mettais rien du tout, et on m'a dit qu'il fallait mieux mettre
"#!/bin/sh -" au début des scripts (pour être bien sur de .... je ne
sais plus)
et donc si on met *rien du tout*, c'est plus (+) portable ?
[...]
En principe oui, a condition d'eviter que le premier caractere
du fichier ne soit pas un "#".
Mais bon, ca ne garantit pas non-plus d'avoir un shell POSIX, ca
garantit d'avoir un shell POSIX que si celui qui execute le
script est "en environnement POSIX" qui n'est pas tres
clairement defini.
Le mieux en pratique, meme si ce n'est pas /standard/ est
peut-etre d'adapter le #! /path/to/sh - pour chaque systeme sur
lequel on veut porter le script (par exemple, #!
/usr/xpg4/bin/sh - sous Solaris, et #! /bin/sh - sur la plupart
des autres).
Se posera ensuite le probleme de la definition de
PATH (qui par defaut sur certains systemes ne pointe pas vers
les outils standard (Solaris encore)).
2007-09-03, 15:31(+02), Thomas:
[...]
mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
"2>" c'est pour rediriger toutes les sorties, pour qu'on ne voit rien
s'afficher quoi qu'il arrive ? c'est pas "&>" ?
Pour rediriger les erreurs. Le fd 2 d'un process est sa sortie
d'erreur, le fd 1 sa sortie standard. cmd > file est un
raccourci pour cmd 1> file, cmd &> file est un raccourci
non-standard pour cmd 1> file 2>&1.
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
ah bon ??
il y a très longtemps on m'a dit le contraire :
je ne mettais rien du tout, et on m'a dit qu'il fallait mieux mettre
"#!/bin/sh -" au début des scripts (pour être bien sur de .... je ne
sais plus)
et donc si on met *rien du tout*, c'est plus (+) portable ?
[...]
En principe oui, a condition d'eviter que le premier caractere
du fichier ne soit pas un "#".
Mais bon, ca ne garantit pas non-plus d'avoir un shell POSIX, ca
garantit d'avoir un shell POSIX que si celui qui execute le
script est "en environnement POSIX" qui n'est pas tres
clairement defini.
Le mieux en pratique, meme si ce n'est pas /standard/ est
peut-etre d'adapter le #! /path/to/sh - pour chaque systeme sur
lequel on veut porter le script (par exemple, #!
/usr/xpg4/bin/sh - sous Solaris, et #! /bin/sh - sur la plupart
des autres).
Se posera ensuite le probleme de la definition de
PATH (qui par defaut sur certains systemes ne pointe pas vers
les outils standard (Solaris encore)).
2007-09-03, 15:31(+02), Thomas:
[...]mkdir sauvegardes 2> /dev/null
cd sauvegardes || exit
"2>" c'est pour rediriger toutes les sorties, pour qu'on ne voit rien
s'afficher quoi qu'il arrive ? c'est pas "&>" ?
Pour rediriger les erreurs. Le fd 2 d'un process est sa sortie
d'erreur, le fd 1 sa sortie standard. cmd > file est un
raccourci pour cmd 1> file, cmd &> file est un raccourci
non-standard pour cmd 1> file 2>&1.
Note que mentionner "/bin/sh" n'est pas assez pour decrire quel
shell tu utilises. Ca peut etre un sh POSIX, mais ca peut aussi
etre un sh Bourne comme dans les tres vieux systemes ou les
systemes qui l'ont laissé la pour backward compatibility (comme
Solaris). Pour avoir un sh POSIX, il est parfois preferable
d'omettre la ligne "#! ..." (qui n'est pas POSIX).
ah bon ??
il y a très longtemps on m'a dit le contraire :
je ne mettais rien du tout, et on m'a dit qu'il fallait mieux mettre
"#!/bin/sh -" au début des scripts (pour être bien sur de .... je ne
sais plus)
et donc si on met *rien du tout*, c'est plus (+) portable ?
[...]
En principe oui, a condition d'eviter que le premier caractere
du fichier ne soit pas un "#".
Mais bon, ca ne garantit pas non-plus d'avoir un shell POSIX, ca
garantit d'avoir un shell POSIX que si celui qui execute le
script est "en environnement POSIX" qui n'est pas tres
clairement defini.
Le mieux en pratique, meme si ce n'est pas /standard/ est
peut-etre d'adapter le #! /path/to/sh - pour chaque systeme sur
lequel on veut porter le script (par exemple, #!
/usr/xpg4/bin/sh - sous Solaris, et #! /bin/sh - sur la plupart
des autres).
Se posera ensuite le probleme de la definition de
PATH (qui par defaut sur certains systemes ne pointe pas vers
les outils standard (Solaris encore)).
Thomas writes:In article <469a9af0$0$26382$,
Nicolas George <nicolas$ wrote:On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
si j'ai bien compris c'est avec " || exit" que ça se fait ?
si il y a le moindre pb, ça arrête le script ?
génial :-)
en fait, il faudrait que j'en étale partout dans mes scripts, pour que
ça s'arrête des qu'il y a un pb ? :-)
Il y a aussi "set -e" en début de script, qui dit au script de
s'arrêter à la première commande qui renvoie autre chose que 0. Mais
c'est un coup à avoir le script qui s'arrête à un endroit où on ne
voulait pas si on ne fait pas attention.est ce que vous me le recommandez ?
Pas forcément partout, mais quand il y a une action importante qui
peut échouer, oui, c'est important.
J'ai un copain qui a exécuté sur son compte un script qui commençait
grosso-modo par
cd ~/un-repertoire/
rm -fr *
(script fait par un autre copain, qui lui avait un répertoire qui
s'appelait ~/un-repertoire).
Je te laisse imaginer ce qui s'est passé ;-).
L'autre solution ouvre la porte à des race conditions.
c'est quoi cette race là ? :-D
« race-condition » (condition de course ?), c'est quand un truc pas
prévu peut se produire si l'environnement du processus fait quelque
chose à un instant précis. Typiquement, du code genre
if (je peux faire un truc) {
faire le truc en question;
}
Il est tout à fait possible que le teste renvoie vrai, et qu'un
instant plus tard, finalement, ça ne soit plus possible.
Thomas <fantome.forums.tDeContes@free.fr.invalid> writes:
In article <469a9af0$0$26382$426a74cc@news.free.fr>,
Nicolas George <nicolas$george@salle-s.org> wrote:
On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
si j'ai bien compris c'est avec " || exit" que ça se fait ?
si il y a le moindre pb, ça arrête le script ?
génial :-)
en fait, il faudrait que j'en étale partout dans mes scripts, pour que
ça s'arrête des qu'il y a un pb ? :-)
Il y a aussi "set -e" en début de script, qui dit au script de
s'arrêter à la première commande qui renvoie autre chose que 0. Mais
c'est un coup à avoir le script qui s'arrête à un endroit où on ne
voulait pas si on ne fait pas attention.
est ce que vous me le recommandez ?
Pas forcément partout, mais quand il y a une action importante qui
peut échouer, oui, c'est important.
J'ai un copain qui a exécuté sur son compte un script qui commençait
grosso-modo par
cd ~/un-repertoire/
rm -fr *
(script fait par un autre copain, qui lui avait un répertoire qui
s'appelait ~/un-repertoire).
Je te laisse imaginer ce qui s'est passé ;-).
L'autre solution ouvre la porte à des race conditions.
c'est quoi cette race là ? :-D
« race-condition » (condition de course ?), c'est quand un truc pas
prévu peut se produire si l'environnement du processus fait quelque
chose à un instant précis. Typiquement, du code genre
if (je peux faire un truc) {
faire le truc en question;
}
Il est tout à fait possible que le teste renvoie vrai, et qu'un
instant plus tard, finalement, ça ne soit plus possible.
Thomas writes:In article <469a9af0$0$26382$,
Nicolas George <nicolas$ wrote:On ne doit presque jamais tester avant de
faire quelque chose : on essaie de faire, et on regarde si ça a marché.
si j'ai bien compris c'est avec " || exit" que ça se fait ?
si il y a le moindre pb, ça arrête le script ?
génial :-)
en fait, il faudrait que j'en étale partout dans mes scripts, pour que
ça s'arrête des qu'il y a un pb ? :-)
Il y a aussi "set -e" en début de script, qui dit au script de
s'arrêter à la première commande qui renvoie autre chose que 0. Mais
c'est un coup à avoir le script qui s'arrête à un endroit où on ne
voulait pas si on ne fait pas attention.est ce que vous me le recommandez ?
Pas forcément partout, mais quand il y a une action importante qui
peut échouer, oui, c'est important.
J'ai un copain qui a exécuté sur son compte un script qui commençait
grosso-modo par
cd ~/un-repertoire/
rm -fr *
(script fait par un autre copain, qui lui avait un répertoire qui
s'appelait ~/un-repertoire).
Je te laisse imaginer ce qui s'est passé ;-).
L'autre solution ouvre la porte à des race conditions.
c'est quoi cette race là ? :-D
« race-condition » (condition de course ?), c'est quand un truc pas
prévu peut se produire si l'environnement du processus fait quelque
chose à un instant précis. Typiquement, du code genre
if (je peux faire un truc) {
faire le truc en question;
}
Il est tout à fait possible que le teste renvoie vrai, et qu'un
instant plus tard, finalement, ça ne soit plus possible.
Pour rediriger les erreurs. Le fd 2 d'un process est sa sortie
d'erreur, le fd 1 sa sortie standard. cmd > file est un
raccourci pour cmd 1> file, cmd &> file est un raccourci
non-standard pour cmd 1> file 2>&1.
merci :-)
et donc "2>&1" veut dire qu'on veut rediriger le fd 2 au même endroit
que le fd 1 ? :-)
En principe oui, a condition d'eviter que le premier caractere
du fichier ne soit pas un "#".
il faut que le 1er caractère soit "#" ?
Mais bon, ca ne garantit pas non-plus d'avoir un shell POSIX, ca
garantit d'avoir un shell POSIX que si celui qui execute le
script est "en environnement POSIX" qui n'est pas tres
clairement defini.
une question que j'ai oublié de poser, c'est :
si on indique rien, comment ça décide avec quel shell ça va exécuter le
script ??
Pour rediriger les erreurs. Le fd 2 d'un process est sa sortie
d'erreur, le fd 1 sa sortie standard. cmd > file est un
raccourci pour cmd 1> file, cmd &> file est un raccourci
non-standard pour cmd 1> file 2>&1.
merci :-)
et donc "2>&1" veut dire qu'on veut rediriger le fd 2 au même endroit
que le fd 1 ? :-)
En principe oui, a condition d'eviter que le premier caractere
du fichier ne soit pas un "#".
il faut que le 1er caractère soit "#" ?
Mais bon, ca ne garantit pas non-plus d'avoir un shell POSIX, ca
garantit d'avoir un shell POSIX que si celui qui execute le
script est "en environnement POSIX" qui n'est pas tres
clairement defini.
une question que j'ai oublié de poser, c'est :
si on indique rien, comment ça décide avec quel shell ça va exécuter le
script ??
Pour rediriger les erreurs. Le fd 2 d'un process est sa sortie
d'erreur, le fd 1 sa sortie standard. cmd > file est un
raccourci pour cmd 1> file, cmd &> file est un raccourci
non-standard pour cmd 1> file 2>&1.
merci :-)
et donc "2>&1" veut dire qu'on veut rediriger le fd 2 au même endroit
que le fd 1 ? :-)
En principe oui, a condition d'eviter que le premier caractere
du fichier ne soit pas un "#".
il faut que le 1er caractère soit "#" ?
Mais bon, ca ne garantit pas non-plus d'avoir un shell POSIX, ca
garantit d'avoir un shell POSIX que si celui qui execute le
script est "en environnement POSIX" qui n'est pas tres
clairement defini.
une question que j'ai oublié de poser, c'est :
si on indique rien, comment ça décide avec quel shell ça va exécuter le
script ??