我有两个脚本说 script1.py 和 script2.sh 。
script1.py采用命令行参数说“-t somethinng”,script2.sh将script1.py作为其命令行参数说: script2.sh -class script1.py 。
我可以将script1.py作为独立脚本执行: “script1.py -t value” 。
现在我要做的是在将script1.py作为命令行参数传递给script2.sh的同时将命令行传递给script1.py。
我想尝试这样的事情 -
script2.sh --class script1:MyClass“-t value”--verbose
script2.sh都设置为从--class参数获取Myclass。 现在上面的命令是我想要做的。 //其中MyClass是script1.py
中的一个类答案 0 :(得分:1)
您的代码是script2.sh
和script1.py
还是别人的?
如果他们是你的(或至少script2.sh
),你可以自己实现这样的功能(使用argparse
或等效的);如果没有,那么就没有内置的方法可以做到这一点,例如:你所要求的与传递参数的泛型Bash / shell功能无关。
P.S。或者@ hek2mgl所说的也可能起作用。
答案 1 :(得分:1)
此处无法使用括号。最简单和最常见的方法是将整个python子命令行作为字符串传递:
script2.sh -class "script1.py -t value" --verbose