2013-10-04 2 views
0

두 스크립트가 script1.pyscript2.sh이라고 말합니다.Linux : 스크립트에 전달되는 명령 줄 인수에 명령 줄 인수를 전달하는 방법은 무엇입니까?

script1.py는 명령 줄 인수로 "-t somethinng"를 취하고 script2.sh는 script1.py를 명령 줄 인수로 사용합니다. script2.sh -class script1.py. "script1.py -t 값" :

나는에 의해 독립 스크립트로 script1.py을 실행할 수 있습니다.

이제 script1.py를 script2.py에 명령 줄 인수로 전달할 때 동시에 명령 줄을 script1.py에 전달해야합니다.

내가 좋아하는 뭔가를 시도하려는 this-

script2.sh --class script1이 :

script2.sh --verbose MyClass에 '-t 값이 "모두에서 MyClass의를 얻기 위해 설정 --class 인수. 위 명령은 내가하고 싶은 명령입니다. // MyClass는 script1.py의 클래스입니다.

답변

1

script2.shscript1.py 코드 또는 다른 사람이 있습니까?

자신이 (또는 script2.sh 이상) 직접 작성하면 (argparse 또는 동급을 사용하여) 이러한 기능을 구현할 수 있습니다. 그렇지 않다면 잘 수행 할 수있는 방법이 없습니다. 여러분이 묻는 것은 인자를 전달하는 일반적인 Bash/shell 기능과 아무 관련이 없습니다.

P. 또는 @ hek2mgl도 그냥 작동 할 수도 있습니다.

+0

이러한 파일은 SVN 형식입니다. 이 두 파일을 편집하려면이 두 파일의 코드 검토를 게시하고 승인을 얻고 다음 단계로 이동하는 데 시간이 걸리는 을 게시해야합니다. script2.sh --class script1 : MyClass "-t value"--verbose script2.sh는 모두 --class 인수에서 Myclass를 가져 오기 위해 설정됩니다. 위 명령은 내가하고 싶은 명령입니다. // MyClass는 script1.py의 클래스입니다. –

+0

@DeepakVerma : hek2mgl의 대답이 작동하지 않았습니까? –

+0

hek2mgl 's이 (가) 나를 위해 작동하지 않습니다. 또한 표준 솔루션입니다. –

1

대괄호는 여기에서 사용할 수 없습니다. 가장 단순하고 가장 일반적인 방법은 전체 파이썬 하위 명령 행을 문자열로 전달하는 것입니다.

script2.sh -class "script1.py -t value" --verbose 
+0

script2.sh --class script1 : MyClass "-t value"- verbose script2.sh는 모두 --class 인수에서 Myclass를 가져 오기 위해 설정됩니다. 위 명령은 내가하고 싶은 명령입니다. // MyClass는 script1.py의 클래스입니다. –

관련 문제