Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

guil a écrit :
#!/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...). wink

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... roll

Milarespa a écrit :

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

Milarespa a écrit :

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. wink

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