~/bin
이라는 Python 프로그램이 있습니다 program.py
. 해당 폴더에 있으면 문제 없이 터미널에서 프로그램을 실행할 수 있지만, 다른 폴더에 있으면 다음과 같은 결과가 나타납니다.
python: can't open file 'program.py': [Errno 2] No such file or directory
~/bin
변수가 있으므로 PATH
모든 폴더에서 문제 없이 bash 스크립트를 실행할 수 있습니다.
뭐가 문제 야?
데이터:
이 폴더에는 Python 프로그램이 있습니다.
$ pwd
/home/pol/bin/Python
$ head -1 program.py
#! /usr/bin/python3
$ which python3
/usr/bin/python3
$ echo $PATH
/home/pol/bin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
$ program.py
bash: program.py: command not found
답변1
셰본이 있나요? 스크립트의 첫 번째 줄은 실제 인터프리터를 가리켜야 합니다.
#!/usr/bin/python3
또한 권한이 올바르게 설정되었는지 확인하세요. 예를 들어 775와 같은 것이 필요할 수 있습니다.
이것이 잘 작동하는지 증명하는 방법은 다음과 같습니다.
$ pwd
/tmp/test
$ ls
test.py
$ head -3 test.py
#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0 OR GPL-3.0
#
$ export PATH=/tmp/test:$PATH
$ test.py
usb1 1d6b:0002 09 1IF [USB 2.00, 480 Mbps, 0mA] (xhci-hcd 0000:04:00.1) hub
usb2 1d6b:0003 09 1IF [USB 3.10, 10000 Mbps, 0mA] (xhci-hcd 0000:04:00.1) hub
usb3 1d6b:0002 09 1IF [USB 2.00, 480 Mbps, 0mA] (xhci-hcd 0000:04:00.3) hub
...
skipped
그게 다 괜찮습니다.
모든 정보를 얻은 후 실제 답변: 프로그램이 있고 /home/pol/bin/Python
$PATH에만 프로그램을 $PATH로 /home/pol/bin
이동 /home/pol/bin
하거나 추가합니다 ./home/pol/bin/Python