명령줄에서 두 번 호출된 프로그램

명령줄에서 두 번 호출된 프로그램

myscript여러 가지 이유로 이름을 붙인 (Python3) 스크립트가 있다고 가정해 보겠습니다 myscript.아니요 myscript.py)은 다음 이름의 하위 디렉터리에 저장됩니다 bin.

mydir/
mydir/bin/
mydir/bin/myscript       -rwxr-xr-x

myscript다음으로 시작됨일반적인 Sherbon 라인,지금 바로:

#!/usr/bin/env python3

를 입력하면 mydir/다음과 같이 스크립트를 호출합니다.

$ ./bin/myscript

결과가 너무 매력적이어서 myscript두 번이나 전화를 받았어요! 나는 다음과 같은 것을 얻습니다 :

sh: 1: myscript: not found
*** specific message defined in myscript ***

첫 번째 줄은 분명히 쉘이 이름이 지정된 명령을 찾으려고 한다는 신호입니다 myscript. 두 번째 줄은 제가 쓴 것입니다 myscript.

내 스크립트가 두 번 호출되는 이유는 무엇입니까?

답변1

myscript@Kusalananda는 귀하의 스크립트가 을 사용하고 있을 수 있다고 언급했습니다 . system()호출할 때 system포함 디렉토리가 셸의 변수에 myscript없는 것 같아서 상대 $PATH경로가 아닌 전체 경로를 전달해야 합니다 myscript.

관련 정보