명령에 대한 다른 파일은 어디에 넣어야 합니까?

명령에 대한 다른 파일은 어디에 넣어야 합니까?

Python으로 스크립트를 작성하고 실행 가능하게 만들어 에 넣었습니다 /usr/local/bin/. 그런데 명령과 관련된 다른 파일이 많이 있는데 어디에 넣어야 합니까? 넣어보려고 했는데 /usr/local/잘 안됐어요.

from: can't read /var/mail/lib.arguments
from: can't read /var/mail/lib.shot
from: can't read /var/mail/gui.main
/usr/local/bin/shot: 6: Syntax error: "(" unexpected

이 오류는 이상한 것 같습니다. /var/mail/.

또한 전체 프로젝트를 /usr/local/file 로 이동하고 심볼릭 링크를 생성한 main다음 심볼릭 링크를 /usr/local/bin/디렉터리로 이동해 보았습니다.

ln -s main /usr/local/bin

그런데 저는 우분투를 사용하고 있습니다.

고쳐 쓰다:

에서 로 변경했습니다 shebang. 내 프로젝트 디렉토리로 이동하고 파일을 복사한 후 이름을 .#!/bin/sh#!/usr/bin/python3main.pymain/usr/local/bin


내 문제는 파일 이름이 회색 배경에 빨간색이고 명령을 호출할 수 없다는 것입니다.

답변1

확인하다 man ln.

ln -s main /usr/local/bin/yourscript

링크에 대한 디렉토리 이름을 제공하지 마십시오 /usr/local/bin. 원하는 디렉토리에 파일 이름을 지정하십시오. 스크립트를 바이너리 디렉토리에 넣는다는 점에 유의하세요. 별로 깨끗하지 않습니다.

편집: Python은 디렉토리에 무엇을 넣는지에 대해 약간 이상할 수 있습니다 bin. 대부분의 내용은 실제로 바이너리도 아니고 바이너리에 대한 링크도 아닙니다. 일반적으로 자체적으로 가져오는 작은 Python 스크립트입니다. 그 중 일부를 확인해 보세요. 예를 들어 pydoc다음 내용을 입력하세요 /usr/bin/pydoc.

1   #!/usr/bin/python3.8
  1
  2 import pydoc
  3 if __name__ == '__main__':
  4     pydoc.cli()

bin단지 Python 스크립트를 실행하려는 경우 해당 스크립트를 디렉터리에 넣을 필요가 없습니다.

  • 다른 프로그램에서 호출하려면 PATH해당 프로그램이 있는 디렉토리로 확장하면 됩니다. 그리고 PATH=$PATH:/MY/PATH. 일부 프로그램은 자체 경로 변수를 사용합니다. 꼭 확인해 보세요 environmental variables. Python의 경우 확인해 보세요.여기, Python이 PYTHONPATH.
  • bash하나만 정의할 수 있습니다 alias=myscript.

관련 정보