Aller au contenu

Bash Shell Script -- Syntax Error : Bad Substitution


Messages recommandés

La commande

which bash
donne le résultat suivant:
/opt/bin/bash
J'ai essayé de faire un lien symbolique pour régler le problème:
ln -s /opt/bin/bash /bin/bash
Mais ca ne marche toujours pas. Commande:
. ./reconnect.sh
Erreur:
-ash: /opt/pyload/reconnect_bbox2.sh: line 18: syntax error: bad substitution

Il essai d'executer le script avec le shell ash ?

Comment je peux résoudre le problème si avec le lien symbolique ca ne fonctionne pas ?

Ampton.

Lien vers le commentaire
Partager sur d’autres sites

J'essayerai de modifier le shebang avec /opt/bin/bash.

Mais je voudrais savoir pourquoi ca ne fonctionne pas avec le lien symbolique ?!

Ou comment lancer les scripts avec un shebang /bin/bash si le bash est dans /opt/bin/bash.

Imaginons le sc

Lien vers le commentaire
Partager sur d’autres sites

essaie avec un lien dur

ln /opt/bin/bash /bin/bash

J'ai essayé la commande, mais je reçois l'erreur suivante:

ln: /bin/bash: Invalid cross-device link
J'ai aussi changé la première ligne du script avec #!/opt/bin/bash mais j'ai toujours l'erreur:
-ash: ./reconnect_bbox2.sh: line 18: syntax error: bad substitution

Une autre idée ?

Ampton.

Lien vers le commentaire
Partager sur d’autres sites

Mais as tu au moins essayé de chercher la réponse ??(avec Google par exemple !).....l'ignorance n'est pas condamnable mais la flemme de chercher ... oui (je sais je suis de nouveau un peu grognon ce matin :angry:)

La liste des shells disponibles se trouve dans /etc/shells

Patrick

tu as raison de râler... mais j'aurais pu lui dire, si ce n'est qu'en postant depuis un téléphone, j'en met le moins possible (surtout que ce foutu forum est désespérément lent sur un téléphone, probablement trop de javascript... et l'interface simplifiée pour mobile ne fonctionne pas).

Ceci dit, je ne pense pas que le problème soit là.

Il faudrait déjà vérifier que les fins de lignes sont bien au format unix (si le fichier a été créé sous windows, avec un mauvais éditeur, ce n'est probablement pas le cas), et que la partition contenant le script n'est pas montée avec l'option noexec (commande mount sans paramètres pour voir).

edit : je viens de voir que tu lançais la commande ainsi :

. ./reconnect.sh
la bonne syntaxe est
./reconnect.sh

(en effet, le premier point est une commande, la commande "source" qui exécute la commande suivante dans l'environnement courant, donc il y a impossibilité, car pour exécuter la commande dans l'environnement courant il faut utiliser le même shell !)

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.