쉘 스크립트에서 Python 파일을 인수로 실행하는 방법은 무엇입니까?

쉘 스크립트에서 Python 파일을 인수로 실행하는 방법은 무엇입니까?

script.sh나는 3개의 매개변수(각 매개변수에 대해 하나의 Python 파일)를 사용하는 이라는 기본 스크립트를 가지고 있습니다 . 나는 에 있어야 합니다 script.sh.

#! usr/bin/env python3

python ${1}첫 번째 줄에서는 python3 ${1}. 스크립팅이 처음인데 스크립트에서 실행할 수 있나요?

답변1

표시된 대로 경로 시작 부분에 슬래시를 추가한다는 의미입니까 #!/usr/bin/env python3? 경로는 작업 디렉터리에서 액세스할 수 있어야 하며, usr/bin/env최소한 프로젝트에서는 사용할 수 없을 것입니다.


실행 방법: shebang 인터프리터를 실제로 사용하려면 파일이 실행 가능해야 하며~ 해야 하다/path/to/script.py(or) 와 같은 스크립트를 실행하세요 ./path/to/script.py. python경로 앞에 또는 배치한 후에는python3저것명령이 해석기로 사용됩니다.

답변2

쉘 CLA를 사용하여 쉘 스크립트를 통해 Python 스크립트를 실행하려는 경우 다음을 시도해 볼 수 있습니다.

#!/bin/bash

CLAString=$@ #Copying the CL arguments to a string

varlen=${#CLAString} #finding the no of CL args

if [[ $varlen -gt 0 ]] #if no of CL args is not zero
then
python ${1}.py # run first CLA python script
fi

./script.sh file1 file2 file3을 통해 실행됨

관련 정보