|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : juin 2006 Messages : 206 ![]() |
Bonjour à tous,
J'essaie de me former au script shell, mais c'est pas brillant, voici mon script : test.sh Code :
test.sh: 2: Syntax error: "(" unexpected J'avais déjà fais crée une discussion similaire (maintenant résolue) et la réponse était : Pour initialiser un tableau on fait : séparateur espace Mais une autre personne a donné le code ci dessus qui ne fonctionne pas... En cherchant il y a pas mal de personne qui utilise la première méthode qui me génère une erreur Je ne comprends pas.... J'en profite pour vous poser la question, Je souhaiterais aussi initialiser un tableau associatif : Code :
tableau =(['a']="une phrase a" ['b']="une phrase b") Merci d'avance |
||
|
|
00
|
|
|
#2 | ||||||||
|
Membre expérimenté
![]() Inscription : mars 2007 Messages : 469 ![]() |
Je connais 2 façons d'initialiser un tableau :
en ksh : Code :
Code :
Avec awk, c'est possible, exemple : http://www.shellunix.com/awk.html Code :
Code :
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
||||||||
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : juin 2006 Messages : 206 ![]() |
Je suis désolé d'insisté, mais chez moi ca ne marche pas
Code :
Code :
test.sh: 2: Syntax error: "(" unexpected |
||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : juin 2006 Messages : 206 ![]() |
J'ai trouvé la solution :
En mettant que j'étais sous ubuntu, ca ma quand même fait tiqué ![]() Et j'ai parcouru leur forum et j'ai finalement trouvé que sous ubuntu, sur les nouvelles version si on lance un script en faisant : sh test.sh, le shell pris par défaut et dash et non bash Donc tout simplement, il faut que je fasse bash test.sh Merci de m'avoir lu |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : mars 2002 Messages : 945 ![]() |
Si tu mets un she-bang, c'est pour ne pas avoir, par la suite, à préciser explicitement quel shell utiliser ! Donne les droits d'exécution, et exécute ton script normalement.
C'est pas la première fois que quelqu'un fait ça sur ce forum, et c'est difficile d'aider les personnes : quand je vois dans le she-bang /bin/bash, je suppose que c'est exécuté avec bash... |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : juin 2006 Messages : 206 ![]() |
LLB
Je ne comprends pas tout, mais effectivement, c'est pas bien Mon script à les droits en exécution, que faut il que je fasse d'autre? Comment on fait pour exécuter un script normalement ? sh test.sh? Merci |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : mars 2002 Messages : 945 ![]() |
Comme tout exécutable !
Pour exécuter "sh", tu tapes "sh". Pour exécuter "test.sh" dans le répertoire courant, tu tapes "./test.sh". Autrement, tu n'avais pas l'impression que ton she-bang (#!) ne servait à rien ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com