Sujet : Re: shells et opérations sur le texte
De : fantome.forums.tDeContes (at) *nospam* free.fr.invalid (Thomas)
Groupes : fr.comp.os.unixDate : 24. Aug 2023, 00:46:04
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <uc65ns$3511g$1@dont-email.me>
References : 1 2
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0
Le 23/08/2023 à 17:18, Christian Weisgerber a écrit :
On 2023-08-22, Thomas <fantome.forums.tDeContes@free.fr.invalid> wrote:
il s'agit du script suivant :
>
#!/bin/sh -
fuseauHoraire="${fuseauHoraire:0:1} 10#${fuseauHoraire:1:2} *60*60"
sur mon nouveau pc, avec Ubuntu 22, il dit "Bad substitution".
Si je supprime "#!/bin/sh -", ça marche. (cad, si je comprend bien, si
je reste explicitement en bash.)
Oui, c'est une extension ksh93 et bash. J'imagine que /bin/sh sur
Ubuntu est un shell plus proche au minimum de POSIX.
est-ce que qqn pourrait m'expliquer svp ce qui se passe, comment ça
marche, et comment bien écrire les scripts pour faire ce que je veux, svp ?
Qu'est-ce que tu veux faire ?
si c'est pas compliqué, autant rester en sh "proche de POSIX" le plus longtemps possible.
Pour découper les chaînes de caractères en sh(1), il y a ${...%...}
(%%, #, ##) et expr(1).
peux-tu me préciser ce que je dois écrire au lieu de "${fuseauHoraire:1:2}" stp ?
"${fuseauHoraire%1:2}" ?
"${fuseauHoraire%%1##2}" ?
-- RAPID maintainerhttp://savannah.nongnu.org/projects/rapid/