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 ?
test ! -d sauvegardes
ou
! test -d sauvegardes
Mais ce n'est pas la bonne facon de faire.
test ! -d sauvegardes
renverra true si sauvegardes n'existe pas mais aussi s'il existe et n'est pas un repertoire (ou un lien symbolique vers un repertoire).
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.
-- Stéphane
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 ?
test ! -d sauvegardes
ou
! test -d sauvegardes
Mais ce n'est pas la bonne facon de faire.
test ! -d sauvegardes
renverra true si sauvegardes n'existe pas mais aussi s'il existe
et n'est pas un repertoire (ou un lien symbolique vers un
repertoire).
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).
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 ?
test ! -d sauvegardes
ou
! test -d sauvegardes
Mais ce n'est pas la bonne facon de faire.
test ! -d sauvegardes
renverra true si sauvegardes n'existe pas mais aussi s'il existe et n'est pas un repertoire (ou un lien symbolique vers un repertoire).
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.
-- Stéphane
Nicolas George
Stephane Chazelas wrote in message :
renverra true si sauvegardes n'existe pas mais aussi s'il existe et n'est pas un repertoire (ou un lien symbolique vers un repertoire).
Et il renverra false s'il n'existe pas, mais qu'il est créé un time-slice plus tard.
Stephane Chazelas wrote in message
<slrnf9jsl8.58g.stephane.chazelas@spam.is.invalid>:
renverra true si sauvegardes n'existe pas mais aussi s'il existe
et n'est pas un repertoire (ou un lien symbolique vers un
repertoire).
Et il renverra false s'il n'existe pas, mais qu'il est créé un time-slice
plus tard.
Et il renverra false s'il n'existe pas, mais qu'il est créé un time-slice plus tard.
Je suis bien d'accord. Il devrait y a voir un truc du genre "$?" qui traine quelque part pour vraiment bien faire...
-- Nicolas S.
Nicolas George
"Nicolas S." wrote in message <f7e550$f2u$:
Je suis bien d'accord. Il devrait y a voir un truc du genre "$?" qui traine quelque part pour vraiment bien faire...
Non, le && en joue déjà le rôle. 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.
"Nicolas S." wrote in message <f7e550$f2u$1@news.tiscali.fr>:
Je suis bien d'accord. Il devrait y a voir un truc du genre "$?" qui
traine quelque part pour vraiment bien faire...
Non, le && en joue déjà le rôle. 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.
Je suis bien d'accord. Il devrait y a voir un truc du genre "$?" qui traine quelque part pour vraiment bien faire...
Non, le && en joue déjà le rôle. 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.
Nicolas S.
"Nicolas S." wrote in message <f7e550$f2u$:
Je suis bien d'accord. Il devrait y a voir un truc du genre "$?" qui traine quelque part pour vraiment bien faire...
Non, le && en joue déjà le rôle.
Au time-slice près, comme tu le dis toi-même.
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.
D'où la récupération du résultat... Quelle différence tu vois en ton propos et le mien?
-- Nicolas S.
"Nicolas S." wrote in message <f7e550$f2u$1@news.tiscali.fr>:
Je suis bien d'accord. Il devrait y a voir un truc du genre "$?" qui
traine quelque part pour vraiment bien faire...
Non, le && en joue déjà le rôle.
Au time-slice près, comme tu le dis toi-même.
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.
D'où la récupération du résultat... Quelle différence tu vois en ton
propos et le mien?
Je suis bien d'accord. Il devrait y a voir un truc du genre "$?" qui traine quelque part pour vraiment bien faire...
Non, le && en joue déjà le rôle.
Au time-slice près, comme tu le dis toi-même.
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.
D'où la récupération du résultat... Quelle différence tu vois en ton propos et le mien?
-- Nicolas S.
Nicolas George
"Nicolas S." wrote in message <f7e7ef$gb3$:
Au time-slice près, comme tu le dis toi-même.
Non, un test sur $? et un && ont exactement le même effet.
D'où la récupération du résultat... Quelle différence tu vois en ton propos et le mien?
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $? pour un &&) sans changer la structure, alors que c'est la structure qui est mauvaise.
"Nicolas S." wrote in message <f7e7ef$gb3$1@news.tiscali.fr>:
Au time-slice près, comme tu le dis toi-même.
Non, un test sur $? et un && ont exactement le même effet.
D'où la récupération du résultat... Quelle différence tu vois en ton
propos et le mien?
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $?
pour un &&) sans changer la structure, alors que c'est la structure qui est
mauvaise.
Non, un test sur $? et un && ont exactement le même effet.
D'où la récupération du résultat... Quelle différence tu vois en ton propos et le mien?
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $? pour un &&) sans changer la structure, alors que c'est la structure qui est mauvaise.
Nicolas S.
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $? pour un &&) sans changer la structure, alors que c'est la structure qui est mauvaise.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
-- Nicolas S.
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $?
pour un &&) sans changer la structure, alors que c'est la structure qui est
mauvaise.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je
dis de remplacer un && par un $??
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $? pour un &&) sans changer la structure, alors que c'est la structure qui est mauvaise.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
-- Nicolas S.
Nicolas George
"Nicolas S." wrote in message <f7gbvq$hj7$:
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
J'ai extrapolé de la seule manière plausible sur ce que tu as dit. Si tu voulais dire autre chose, il fallait être plus précis. Et il faudrait toujours l'être, parce que pour le moment, tu n'as toujours rien dit.
"Nicolas S." wrote in message <f7gbvq$hj7$1@news.tiscali.fr>:
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je
dis de remplacer un && par un $??
J'ai extrapolé de la seule manière plausible sur ce que tu as dit. Si tu
voulais dire autre chose, il fallait être plus précis. Et il faudrait
toujours l'être, parce que pour le moment, tu n'as toujours rien dit.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
J'ai extrapolé de la seule manière plausible sur ce que tu as dit. Si tu voulais dire autre chose, il fallait être plus précis. Et il faudrait toujours l'être, parce que pour le moment, tu n'as toujours rien dit.
Stephane Chazelas
2007-07-16, 20:05(+02), Nicolas S.:
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $? pour un &&) sans changer la structure, alors que c'est la structure qui est mauvaise.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
Alors, si on resume, ou est-ce que tu veux le mettre, ton test de $? ?
-- Stéphane
2007-07-16, 20:05(+02), Nicolas S.:
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $?
pour un &&) sans changer la structure, alors que c'est la structure qui est
mauvaise.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je
dis de remplacer un && par un $??
Alors, si on resume, ou est-ce que tu veux le mettre, ton test
de $? ?
Ton propos est à côté de la plaque : tu proposes de changer la forme (un $? pour un &&) sans changer la structure, alors que c'est la structure qui est mauvaise.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
Alors, si on resume, ou est-ce que tu veux le mettre, ton test de $? ?
-- Stéphane
Nicolas S.
"Nicolas S." wrote in message <f7gbvq$hj7$:
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
J'ai extrapolé de la seule manière plausible sur ce que tu as dit. Si tu voulais dire autre chose, il fallait être plus précis. Et il faudrait toujours l'être, parce que pour le moment, tu n'as toujours rien dit.
C'est vrai, J'ai été imprécis, et je le concède sans problème. Et pour bien faire, je viens de m'apercevoir que j'avais raté une partie de la réponse de Stéphane. Je vais complètement dans son sens:
mkdir rep 2>/dev/null cd rep || exit
Le || après le cd joue parfaitement son rôle. Après, que ce soit fait par un $?, un && ou un ||, le résultat est là.
Promis, j'arrête de répondre après 23h30. :-) Méaculpa.
-- Nicolas S.
"Nicolas S." wrote in message <f7gbvq$hj7$1@news.tiscali.fr>:
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je
dis de remplacer un && par un $??
J'ai extrapolé de la seule manière plausible sur ce que tu as dit. Si tu
voulais dire autre chose, il fallait être plus précis. Et il faudrait
toujours l'être, parce que pour le moment, tu n'as toujours rien dit.
C'est vrai, J'ai été imprécis, et je le concède sans problème.
Et pour bien faire, je viens de m'apercevoir que j'avais raté une partie
de la réponse de Stéphane.
Je vais complètement dans son sens:
mkdir rep 2>/dev/null
cd rep || exit
Le || après le cd joue parfaitement son rôle. Après, que ce soit fait
par un $?, un && ou un ||, le résultat est là.
Promis, j'arrête de répondre après 23h30. :-)
Méaculpa.
J'ai bien oublié de dire où placer le test hier soir... Mais où ai-je dis de remplacer un && par un $??
J'ai extrapolé de la seule manière plausible sur ce que tu as dit. Si tu voulais dire autre chose, il fallait être plus précis. Et il faudrait toujours l'être, parce que pour le moment, tu n'as toujours rien dit.
C'est vrai, J'ai été imprécis, et je le concède sans problème. Et pour bien faire, je viens de m'apercevoir que j'avais raté une partie de la réponse de Stéphane. Je vais complètement dans son sens:
mkdir rep 2>/dev/null cd rep || exit
Le || après le cd joue parfaitement son rôle. Après, que ce soit fait par un $?, un && ou un ||, le résultat est là.
Promis, j'arrête de répondre après 23h30. :-) Méaculpa.