2013-10-04 265 views
0

我有两个脚本说script1.pyscript2.shLinux:如何将命令行参数传递给传递给脚本的命令行参数?

script1.py作为命令行参数说:“-t somethinng”和script2.sh以script1.py作为其命令行参数说:script2.sh -class script1.py“script1.py -t值”

我可以通过执行script1.py作为独立的脚本。

现在我想要做的就是将命令行传递给script1.py,同时将script1.py作为命令行参数传递给script2.sh。

我想尝试像这个 -

script2.sh --class SCRIPT1:MyClass的 “-t值” --verbose

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

回答

1

script2.shscript1.py您的代码或其他人的?

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

P.S.或者@ 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

括号不能在这里使用。最简单也是最常用的方式是将整个python子命令行作为字符串传递:

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

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