it-swarm.com.de

/ bin / sh ist ein symbolischer Link, der nicht auf / bin / bash verweist

Ich habe die Softwareumgebung des Armadeus-Experimentierboards APF27DEV installiert und als ich den Befehl make ausprobiert habe, wurde folgende Fehlermeldung ausgegeben:

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

Um diesen Fehler zu beheben, habe ich versucht, alle Shebangs von #!/bin/sh in #!/bin/bash zu ändern. Außerdem habe ich die folgende Befehlszeile ausprobiert:

ln -s /bin/bash /bin/sh

Aber alles, was ich getan habe, hat das Problem nicht gelöst. Könnte mir bitte jemand bei diesem Problem helfen?

9
batur

Sie waren mit Ihrem ln-Befehl fast fertig - außer dass Sie wahrscheinlich das -f-Flag ('force') einfügen mussten, um den alten Link zu überschreiben -, ist es auch vorzuziehen, einen relativen Pfad für das Ziel zu verwenden

Sudo ln -sf bash /bin/sh

Wenn Sie mit der Installation fertig sind, können Sie mit auf den Systemstandard zurücksetzen

Sudo ln -sf dash /bin/sh

Es sollte nicht nötig sein, die Skriptdatei 'shebangs' zu ändern.

20
steeldriver

Das Problem darf nicht sein, dass /bin/sh auf dash zeigt, da dies die Standardeinstellung ist (ich habe es nur an meinem Ende überprüft und es war dasselbe). Das Problem muss woanders liegen; Das Paket scheint nicht mit Ubuntu kompatibel zu sein.

Vielleicht finden Sie im Makefile eine Zeile, in der ein Skript explizit über sh ausgeführt wird, d. H. sh path/to/script. Ersetzen Sie alle derartigen Vorkommen von sh für bash, und geben Sie Ihre Ergebnisse zurück.

1
Severo Raz