![bash 스크립트로 실행할 때 Python 스크립트에 매개변수를 어떻게 전달할 수 있나요?](https://rvso.com/image/1000368/bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EB%95%8C%20Python%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%A0%84%EB%8B%AC%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20.png)
명령줄에서 작동하는 응용 프로그램을 만들려고 합니다. 예를 들어 application -h
. 그래서 저는 다음 줄에 다음 /usr/local/bin/
과 같은 bash 스크립트를 넣었습니다 . 하지만 명령을 실행하면 . 그러나 동일한 명령으로 별칭을 사용하면 정상적으로 작동합니다. 매개변수를 사용하도록 bash 스크립트를 어떻게 변경할 수 있습니까? 별칭은 작동하지만 스크립트는 작동하지 않는 이유는 무엇입니까?cd /path/to/application
./Main.py
-h
.bashrc
답변1
쉘 스크립트는 Python 스크립트에 인수를 전달하려는 것을 알 수 있는 방법이 없기 때문입니다. 사용
./Main.py "$@"
또한 사용하지 마십시오 cd
. 중복됩니다. ./Main.py 에 대한 전체 경로를 사용하거나 필요한 경우가 아니면 래퍼 스크립트를 모두 사용하지 않는 것이 더 좋습니다. $PATH 변수의 일부인 디렉터리 중 하나에 ./Main.py를 넣고 Python 스크립트를 직접 호출하면 됩니다.
요점은 당신이 하려는 일이 아마도 잘못되고 불필요할 수 있으며, 이를 수행하는 더 좋은 방법이 있다는 것입니다.