/ bin / sh - символічне посилання, яке не вказує на / bin / bash [закрито]


10

Я встановлював програмне середовище експериментальної дошки Armadeus APF27DEV, і коли я спробував makeкоманду, він видав мені таке повідомлення про помилку:

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

Щоб вирішити цю помилку, я спробував змінити всі шебаги з #!/bin/shна #!/bin/bash, а також спробував такий командний рядок:

ln -s /bin/bash /bin/sh

Але все, що я зробив, не вирішило проблему. Може хто-небудь, будь ласка, допоможе мені вирішити цю проблему?


2
Це буде помилка в їхньому програмному забезпеченні, тож вам доведеться їх вирішити.
psusi

Відповіді:


22

Ви майже були там зі своєю командою ln - за винятком того, що вам, мабуть, потрібно було включити прапор -f ('force'), щоб перезаписати старе посилання - також бажано використовувати відносний шлях для цілі

sudo ln -sf bash /bin/sh

Закінчивши встановлення, ви можете повернутися до системного замовчування за допомогою

sudo ln -sf dash /bin/sh

Не потрібно змінювати файл сценарію "shebangs"


2
Було б краще запустити sudo dpkg-reconffigure dashі вибрати варіант, щоб не використовувати тире для надання /bin/sh. Якщо ви робите це з dpkg, він оновлює інші частини вашої системи (наприклад, manpages), щоб вони відповідали.
mkasberg

1

Проблема не повинна /bin/shвказувати на dashте, що це за замовчуванням (я просто перевірив свій кінець, і це було те саме). Проблема повинна бути в іншому місці; Пакет, здається, не сумісний з Ubuntu вийшов із коробки.

Можливо, в Makefile ви можете знайти рядок, що виконує сценарій через shявно, тобто sh path/to/script. Замініть всі подібні випадки shна bashта повідомте про результати.


Спасибі за вашу відповідь!!! Я знав інший спосіб, ніж те, що ви мені сказали.
batur
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.