実行可能なシンボリックリンクが原因で「コマンドが見つかりません」が発生する

実行可能なシンボリックリンクが原因で「コマンドが見つかりません」が発生する

私は昨日、次のようなシンボリックリンクを作成しました。

sudo ln -s bin/python /usr/bin/prj-python

私が実行したとき:

prj-python file.py

私は得る:

prj-python: command not found

リンクを再生成しようとすると、次の結果が表示されます。

ln:シンボリックリンク '/usr/bin/prj-python'を作成中:ファイルが存在します

なぜこれが起こるのですか?私$PATHのもの:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer

ベストアンサー1

確認すべき事項:

  • 実行するls -l /usr/bin/prj-python

その場合:

lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python

ファイルは実際には次から検索されます。/usr/bin/bin/python(これがxralfが言おうとしていたことです)。問題を解決してください:

rm /usr/bin/prj-python
ln -s /full/path/to/your/python /usr/bin/python-prj

  • bin/pythonシェルスクリプト(別名ラッパースクリプト)の場合は、次の点を確認してください。#! -ワイヤー(時々呼ばれる。シェルボーン-line) 最初の行に。これらのスペルエラーが発生すると、#!/bin/bush次の結果が発生します。見つかりませんエラーメッセージもあります。

おすすめ記事