![](/img/trans.png)
[英]Linux:How to pass command line argument to an command line argument that is being passed to a script?
[英]How would you pass arguments to a script being passed as an argument?
基本上是標題,我不知道如何將參數傳遞給在shell命令中作為參數傳遞的腳本。 以下面的命令為例:
$ someexe --arg-for-someexe腳本
somexe將要從scriptA中讀取並執行一堆任務,然后將一些數據吐出到硬編碼到scriptA中的目標文件中。 如何將目標文件作為命令行參數傳遞給scriptA? 在python中,我知道我可以使用sys.argv [i]來獲取參數,但是someexe還將嘗試獲取這些參數並可能導致問題。 我該怎么做?
您可以這樣做:
呼叫者指令碼(scripta.py):
import os
def main(args):
os.system('python scriptb.py' + ' ' + str(args))
if __name__ == '__main__':
import sys
args = sys.argv[1:]
main(args)
接收方腳本(scriptb.py):
if __name__ == '__main__':
import sys
args = sys.argv[1:]
print(args)
調用腳本-在終端中說:
python scripta.py arg1 42 arg2 43
將在scriptb.py終端中打印:
['[arg1,', '42,', 'arg2,', '43]']
os.system()在單獨的shell /進程中生成它。 可能不是您想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.