실행 가능한 심볼릭 링크로 인해 "명령을 찾을 수 없음" 발생

실행 가능한 심볼릭 링크로 인해 "명령을 찾을 수 없음" 발생

나는 어제 다음과 같은 심볼릭 링크를 만들었습니다.

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. 정확히 무엇을 가리키기를 원하시나요?

관련 정보