나는 대본을 썼다. 시작하면 중지되지 않으며 인터넷에서 데이터를 계속 가져옵니다. 나는 이것을 이런 식으로 부를 수 있습니다.
cd /User/Desktop/project/internetScanner/
python3 main.py start
그러나 대상 내에서 다음과 같이 터미널에서 직접 호출하고 싶습니다.
internetScanner start
어떻게해야합니까?
나는 대본을 썼다. 시작하면 중지되지 않으며 인터넷에서 데이터를 계속 가져옵니다. 나는 이것을 이런 식으로 부를 수 있습니다.
cd /User/Desktop/project/internetScanner/
python3 main.py start
그러나 대상 내에서 다음과 같이 터미널에서 직접 호출하고 싶습니다.
internetScanner start
어떻게해야합니까?
답변:
당신은 아마 파일 이름을 변경해야 main.py
하는가 internetScanner
. * nix의 확장은 전적으로 선택 사항입니다. 여기서 중요하지 않습니다.
mv main.py internetScanner
그런 다음이 파일에 처음에 다음 줄을 추가하십시오.
#!/usr/bin/env python3
이렇게하면 셸이 파일을 실행할 때 python3
내용을 해석하는 데 사용할 수 있습니다. 이것은 Shebang 으로 알려져 있습니다 . 이제 파일을 실행 가능하게 만드십시오.
chmod +x internetScanner
이제 다음 내에서 프로그램을 실행할 수 있습니다 /User/Desktop/project/internetScanner/
.
./internetScanner start
프로그램은 포 그라운드에서 실행되며 Ctrl- 를 누를 때까지 계속 실행 C됩니다. 이를 원하지 않으면 명령 뒤에 앰퍼샌드를 추가하여 백그라운드에서 프로그램을 시작할 수도 있습니다.
./internetScanner start &
이렇게하면 프로그램이 실행되지만 셸을 계속 사용할 수 있습니다. 이것을 작업 제어라고하며 여기 에 대한 간단한 자습서가 있습니다 .
이제 시스템의 어느 곳에서나 프로그램을 실행할 수 있으려면 internetScanner
디렉토리를 다음 에 추가해야 합니다 PATH
. PATH 및 기타 환경 변수 란 무엇이며 어떻게 설정하거나 사용합니까?
main.py
심볼릭 링크되어 있으면 이름 을 지정할 수 있습니다 internetScanner
.
/User/Desktop/project/internetScanner/
단일 사용자 용으로 설치하려는 경우 다른 파일 이 필요 하지 않다고 가정하면 ( ln -s
) main.py
에 링크하십시오 $HOME/bin/internetScanner
. mkdir을 $HOME/bin
먼저 해야 할 것입니다 .
다음에 로그인하면 $HOME/bin
PATH에 추가 될 수 있습니다. 모든 사용자가 사용할 수 있도록하려면에 복사하십시오 /usr/local/bin
.
에서 실행해야하는 경우 /User/Desktop/project/internetScanner/
가져 오기 os
및 호출로 시작하십시오.
os.chdir('/User/Desktop/project/internetScanner/')
또는에서 실행 스크립트를 만들 $HOME/bin
거나 /usr/local/bin
변경한다는 /User/Desktop/project/internetScanner/
하고 스크립트를 실행합니다.
alias internetScanner "python /User/Desktop/project/internetScanner/main.py"
.aliases 파일을 넣 습니다 (csh 용). bash의 경우 alias internetScanner="python /User/Desktop/project/internetScanner/main.py"
.bashrc를 넣으십시오 . 그 후 어디서나 internetScanner start를 사용할 수 있습니다.
.aliases
파일에 대해 들어 본 적이 없다 . Bash의 표준입니까? 또는 명시 적으로 소스를 제공해야 .bashrc
합니까?