
私は昨日、次のようなシンボリックリンクを作成しました。
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
次の結果が発生します。見つかりませんエラーメッセージもあります。
答え2
その前に最初のスラッシュを忘れていましたbin/python
。それは/usr/bin/prj-python
今を指すことを意味します/usr/bin/bin/python
。正確に何を指したいですか?