/ 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

เพื่อแก้ไขข้อผิดพลาดนี้ฉันพยายามเปลี่ยน shebangs ทั้งหมดจาก#!/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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.