/ bin / sh là một liên kết tượng trưng không trỏ đến / bin / bash [đã đóng]


10

Tôi đã cài đặt môi trường phần mềm của bảng thử nghiệm Arcraftus APF27DEV và khi tôi thử makelệnh, nó đưa ra thông báo lỗi sau:

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

Để khắc phục lỗi này, tôi đã cố gắng thay đổi tất cả các shebang từ #!/bin/shsang #!/bin/bashvà tôi cũng đã thử dòng lệnh sau:

ln -s /bin/bash /bin/sh

Nhưng, tất cả những gì tôi đã làm không giải quyết được vấn đề. Bất cứ ai có thể xin vui lòng giúp tôi với vấn đề này?


2
Đây sẽ là một lỗi trong phần mềm của họ, vì vậy bạn sẽ cần phải khắc phục nó.
psusi

Câu trả lời:


22

Bạn đã ở gần đó với lệnh ln của mình - ngoại trừ bạn có thể cần bao gồm cờ -f ('lực') để ghi đè lên liên kết cũ - cũng nên sử dụng đường dẫn tương đối cho mục tiêu

sudo ln -sf bash /bin/sh

Khi bạn hoàn tất cài đặt, bạn có thể trở lại mặc định của hệ thống với

sudo ln -sf dash /bin/sh

Không cần phải thay đổi tập lệnh 'shebangs'


2
Sẽ tốt hơn nếu chạy sudo dpkg-reconffigure dashvà chọn tùy chọn không sử dụng dấu gạch ngang để cung cấp /bin/sh. Nếu bạn làm điều đó với dpkg, nó sẽ cập nhật các phần khác trong hệ thống của bạn (như các trang hướng dẫn) để khớp.
mkasberg

1

Vấn đề không được /bin/shchỉ ra dashbởi vì đó là mặc định (tôi chỉ kiểm tra trên đầu của tôi và nó là như nhau). Vấn đề phải ở nơi khác; gói dường như không tương thích với Ubuntu out-of-the-box.

Có lẽ trong Makefile bạn có thể tìm thấy một dòng thực thi một tập lệnh thông qua sh, rõ ràng sh path/to/script. Thay thế tất cả các lần xuất hiện như vậy shcho bash, và báo cáo lại kết quả của bạn.


Cảm ơn bạn vì câu trả lời!!! Tôi đã biết một cách khác với những gì bạn đã nói với tôi.
batur
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.