Vincent Lefevre a écrit :
On 2006-01-24 18:07:30 +0100, Christophe Martin wrote:
Vincent Lefevre a écrit :
Ouais, mais la solution des tableaux n'est pas une solution POSIX. Maintenant, pour ce que ça vaut...
Je ne connais pas de systeme n'ayant pas de shell ne supportant pas les tableaux (ou l'inverse ;-).
Le shell de Solaris ne supporte pas les tableaux Ne me fait pas dire ce que j' ia pas dit. Je dit "Il existe un shell sous solaris qui a des tableaux" en l'occurence /usr/xpg4/bin/sh ou /bin/ksh
(et n'est pas POSIX non plus). Bref, tu reclames des trucs POSIX pour un shell qui ne l'est pas. Sous Solaris, /bin/sh est similaire a /sbin/jsh (man de tout ca) Le but de /sbin/jsh est juste d'avoir un shell capable de booter la machine, et d'etre un shell static utilisable en single. Faut pas lui en demander trop non plus.
La solution est peut-être d'exécuter, si ça échoue, un ksh depuis le script en #!/bin/sh sur la suite du script, mais je ne sais pas comment faire.
#! /bin/sh ( a[0]=1 || exit 1 ) 2>/dev/null || exec /bin/ksh "$0" ${1+"$@"}
Meme dans ce cas il reste "set -- '1 2 3' '4 5 6'" et "$@" que seuls quelques shells tres decerebres
Ce n'est pas propre de changer le $0 dans ces conditions.
1) ca marche sous le /bin/sh de Solaris, 2) Ca ne change pas $0, ca change "$1" "$2" etc.... C'est BASH et son appel bash -c 'bla bla bla' "$@" qui change "$0". A pas pareil. Bon appetit. Christophe.