#1 Le 12/05/2007, à 13:23
- Milarespa
[Résolu] Extraction de sous-chaine dans un script shell
Bonjour,
Je débute avec les scripts shell et je souhaite faire ce qui est dit dans le titre.
Tapé directement dans le terminal:
test="bonjour"; echo ${test:0:3}
Donne:
bon
Mais dans un fichier script:
#! /bin/sh
test="bonjour"; echo ${test:0:3}
La commande
sh scripts/test.sh
Me donne:
scripts/test.sh: 2: Syntax error: Bad substitution
Est-ce que qqn a une idée ?
Merci
Dernière modification par calimarno (Le 12/05/2007, à 14:17)
#2 Le 12/05/2007, à 13:32
- guil
Re : [Résolu] Extraction de sous-chaine dans un script shell
#!/bin/bash
test="bonjour"; echo ${test:0:3};
Hors ligne
#3 Le 12/05/2007, à 13:37
- Milarespa
Re : [Résolu] Extraction de sous-chaine dans un script shell
#!/bin/bash test="bonjour"; echo ${test:0:3};
Merci pour la rapidité.
J'ai mis exactement ce code ("#!/bin/bash" en un mot, ";" à la fin)
Mais toujours la même erreur
#4 Le 12/05/2007, à 13:50
- Skippy le Grand Gourou
Re : [Résolu] Extraction de sous-chaine dans un script shell
Tu mélanges bash et sh. Ce sont deux langages différents (il en existe d'autres : csh, dash...). Ton shell est en bash, donc quand tu tapes dans un terminal les commandes bash fonctionnent (tu peux passer en shell sh en tapant simplement sh dans ton terminal bash ; exit pour revenir au shell bash, bash pour créer un nouveau shell bash). Par contre, tu déclare ton fichier comme script sh en mettant #!/bin/sh sur la première ligne. Si tu veux que les commandes bash fonctionnent, il faut que tu le déclare en bash : #!/bin/bash.
Un lien utile pour les conversions (mais il y en a peu, le plus simple est encore man bash et man sh...).
Hors ligne
#5 Le 12/05/2007, à 13:54
- Skippy le Grand Gourou
Re : [Résolu] Extraction de sous-chaine dans un script shell
Oulah, doublement grillé... Ça m'apprendra à ouvrir 36 onglets avant de répondre...
Mais toujours la même erreur
Sans doute parce que tu essaies de le forcer à l'interpréter en sh. Rend le fichier exécutable :
chmod +x scripts/test
Et exécute-le simplement :
script/test
Hors ligne
#6 Le 12/05/2007, à 13:57
- Milarespa
Re : [Résolu] Extraction de sous-chaine dans un script shell
Merci pour ces éclaircissements Grand Gourou Skippy.
Ca fonctionne.
Par contre je ne suis pas inscrit donc je crois que je peux pas modifier le sujet en [resolu] ?
#7 Le 12/05/2007, à 14:02
- Skippy le Grand Gourou
Re : [Résolu] Extraction de sous-chaine dans un script shell
Par contre je ne suis pas inscrit donc je crois que je peux pas modifier le sujet en [resolu] ?
Au bas des messages (à droite), tu as un lien "signaler". Tu cliques, tu dis que le sujet et résolu mais que tu étais en invité, et les modos modifieront le titre.
Hors ligne
#8 Le 12/05/2007, à 14:16
- Milarespa
Re : [Résolu] Extraction de sous-chaine dans un script shell
C'est fait.
Merci encore
Hors ligne
#9 Le 22/05/2007, à 21:28
- faye
Re : [Résolu] Extraction de sous-chaine dans un script shell
Salut,
Je travaille sur un mac et je veux utiliser terminal pour exploiter mes sequences. je ne sais comment importer mon fichier de sequence dans terminal. Je sais utiliser les commande cd, ls.
Merci d'avance.
#10 Le 23/05/2007, à 20:09
- Hoxus
Re : [Résolu] Extraction de sous-chaine dans un script shell
Créez un nouveau post. Celui est résolu, et donc il y aura peu de réponse.
Dsl, mais moi, je ne sais pas répondre.
Bon courage.
Ubuntu 9.10
Ne rien dire, c'est se taire !!
Hors ligne