0

我有两个脚本说script1.pyscript2.sh

script1.py 将“-t something”作为命令行参数,而 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 值" --verbose

script2.sh 全部设置为从 --class 参数获取 Myclass。现在上面的命令是我想要做的。// 其中 MyClass 是 script1.py 中的一个类

4

2 回答 2

1

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

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

PS 或者@hek2mgl 所说的也可能有效。

于 2013-10-04T10:17:20.747 回答
1

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

script2.sh -class "script1.py -t value" --verbose
于 2013-10-04T10:18:13.900 回答