我有以下选择:
python runscript.py -O start -a "-a "\"-o \\\"-f/dev/sda1 -b256k -Q8\\\" -l test -p maim\""
runscript需要-O
和-a
,然后将剩余的内容发送到shell脚本1
shell脚本1采用选项-a,并应将剩余的\"-o \\\"-f/dev/sda1 -b256k -Q8\\\" -l test -p maim\"
视为shell脚本2的参数
shell脚本2接受参数-o
,-l
和-p
。
任何人都可以帮我解决这种情况。我被困在shell脚本1考虑的地方,并开始解析参数-o。
有简单的方法吗?应该维护调用2的shell脚本1的层次结构。
此致 西
答案 0 :(得分:0)
你给的命令有点令人困惑。我正在概括这个场景。这是你的意思吗?
python runscript.py -p1 v1 -p2 v2 -p3 v3
runscript.py
将采用所有给定的参数。shellsript_1.sh
说-p2 v2
shellscript_2.sh
-p3 v3
醇>
我们可能需要更准确地解释问题。
答案 1 :(得分:0)
在UNIX中执行此操作的传统方法是将参数列表拆分为一个数据透视表(通常为 - ),以便主脚本使用数据透视表左侧的所有参数,并保留其他脚本的其余参数( S)。如果您的呼叫功能具有灵活性,我建议您这样做。
因此,如果runscript.py和两个shell脚本都需要使用单独的参数列表,那么命令行将如下所示:
python runscript.py <args for runscript> -- <args for 1st script> -- <args for 2nd script>
例如(我只是在你的层次结构中猜测):
python runscript.py -O start -- -l test -p maim -- -f/dev/sda1 -b256k -Q8