![명령에 대한 다른 파일은 어디에 넣어야 합니까?](https://linux55.com/image/177141/%EB%AA%85%EB%A0%B9%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%8B%A4%EB%A5%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%80%20%EC%96%B4%EB%94%94%EC%97%90%20%EB%84%A3%EC%96%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
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/python3
main.py
main
/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
.