실행 가능한 기호 링크로 "명령을 찾을 수 없음"


24

나는 다음과 같이 상징적 인 링크 (어제)를 만들었습니다.

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

답변:


21

전에 초기 슬래시를 잊었습니다 bin/python. 이것은 /usr/bin/prj-python이제를 가리 킵니다 /usr/bin/bin/python. 정확히 무엇을 가리 키시겠습니까?


초기 슬래시가 없습니다. 는 pwd것입니다 /home/xralf/my_virtual_env그것은 하위 디렉토리가 binpython명령
xralf

8
보다, 당신은 $PWD/전에 잊었다 bin.
RVS

감사합니다. 도움이되었습니다. 책에서와 같이이 명령을 사용했습니다.
xralf

25

확인 사항 :

  • 수행 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쉘 스크립트 (. 일명 래퍼 스크립트) 체크입니다 ! #을 - 라인 (라고도 오두막 첫 번째 줄에 - 라인). 이와 같은 오타 #!/bin/bush가 있으면 찾을 수없는 오류 메시지가 발생합니다.

감사합니다. 귀하의 답변은 더욱 신중하고 교육적입니다. 죄송합니다. 이미 수락했습니다.
xralf

이것은 많은 도움이되었습니다 ... 발견 된 대부분의 답변은 $ PATH에 관한 것입니다
Ja8zyjits

매개 변수없이 ln을 사용합니다. 사람들은 실제로 ln -s를 사용해야하므로 심볼릭 링크를 만들어야합니다.
Cedric

도움이되었고 사용했습니다 ln -s $PWD/python /usr/bin/python-prj. $PWD전체 경로를 얻는 데 사용됩니다.
Manwal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.