Path: ...!weretis.net!feeder8.news.weretis.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Thomas Newsgroups: fr.comp.os.unix Subject: =?UTF-8?Q?Re=3a_shells_et_op=c3=a9rations_sur_le_texte?= Date: Thu, 24 Aug 2023 01:46:04 +0200 Organization: A noiseless patient Spider Lines: 37 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 23 Aug 2023 23:46:04 -0000 (UTC) Injection-Info: dont-email.me; posting-host="df3681d4fe88531863f15be001a819d3"; logging-data="3310640"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/nA1MrZNdiQTXvSKbABjAu7uvd8rUW1II=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cancel-Lock: sha1:QAK25b7hrT2jiCp29phgg6VY+CQ= In-Reply-To: Content-Language: fr-FR Bytes: 2335 Le 23/08/2023 à 17:18, Christian Weisgerber a écrit : > On 2023-08-22, Thomas 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 maintainer http://savannah.nongnu.org/projects/rapid/