/ 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 2013

回答:


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でこれを行うと、システムの他の部分(マンページなど)が一致するように更新されます。
mkasberg

1

それがデフォルト/bin/shであるdashため、問題が指摘されてはなりません(私は自分の側で確認したところ、同じでした)。問題は別の場所にあるに違いありません。パッケージは、そのままではUbuntuと互換性がないようです。

おそらくMakefileで、スクリプトをsh明示的に実行する行、つまりsh path/to/scriptshforのそのような出現をすべて置き換えbash、結果を報告します。


回答ありがとうございます!!! 私はあなたが私に言ったこととは異なる方法を知っています。
バトゥール号2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.