web-dev-qa-db-fra.com

/ bin / sh est un lien symbolique qui ne pointe pas vers / bin / bash

J'étais en train d'installer l'environnement logiciel de la carte de test Armadeus APF27DEV, et lorsque j'ai essayé la commande make, le message d'erreur suivant m'a été envoyé:

On your system /bin/sh is a symbolic link that doesn't point to /bin/bash --> please correct that !
lrwxrwxrwx 1 root root 4 2013-08-03 20:57 /bin/sh -> dash

Pour résoudre cette erreur, j'ai essayé de changer tous les shebang de #!/bin/sh en #!/bin/bash et j'ai également essayé la ligne de commande suivante:

ln -s /bin/bash /bin/sh

Mais tout ce que j'ai fait n'a pas résolu le problème. Quelqu'un pourrait-il m'aider s'il vous plaît avec ce problème?

9
batur

Vous y étiez presque avec votre commande ln - sauf que vous deviez probablement inclure le drapeau -f ('force') pour écraser l'ancien lien - il est également préférable d'utiliser un chemin relatif pour la cible.

Sudo ln -sf bash /bin/sh

Une fois l’installation terminée, vous pouvez rétablir les paramètres par défaut du système avec

Sudo ln -sf dash /bin/sh

Il ne devrait pas être nécessaire de changer le fichier de script 'shebangs'

20
steeldriver

Le problème ne doit pas être /bin/sh pointant sur dash car il s’agit de la situation par défaut (je viens de vérifier de mon côté et c’était pareil). Le problème doit être ailleurs; le paquet ne semble pas être compatible avec Ubuntu prêt à l'emploi.

Peut-être que dans le Makefile, vous trouverez une ligne exécutant un script de manière explicite via sh, c’est-à-dire sh path/to/script. Remplacez toutes ces occurrences de sh par bash et signalez vos résultats.

1
Severo Raz