Linux:如何将命令行参数传递给传递给脚本的命令行参数?

时间:2013-10-04 10:14:53

标签: python linux bash shell command-line-arguments

我有两个脚本说 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

中的一个类

2 个答案:

答案 0 :(得分:1)

您的代码是script2.shscript1.py还是别人的?

如果他们是你的(或至少script2.sh),你可以自己实现这样的功能(使用argparse或等效的);如果没有,那么就没有内置的方法可以做到这一点,例如:你所要求的与传递参数的泛型Bash / shell功能无关。

P.S。或者@ hek2mgl所说的也可能起作用。

答案 1 :(得分:1)

此处无法使用括号。最简单和最常见的方法是将整个python子命令行作为字符串传递:

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