[英]How do I pass a Python Variable to Bash?
我如何將Python變量傳遞給Bash shell? 它應該像這樣工作: foo="./RetVar.py 42"
用`s替換雙引號
我試過打印和sys.exiting結果,但無濟於事。 我將如何實現目標?
foo="$(scriptthatprintssomething)"
而已。 print
。 或者sys.stdout.write()
。 或者類似的。 如果腳本不可執行,那么您需要明確指定解釋器。
foo="$(python scriptthatprintssomething.py)"
在bash中,`cmd \\
和$(cmd)都將被命令的輸出替換。 這允許您將程序的輸出分配給變量
foo=`some command`
要么
foo=$(some command)
通常用雙引號括起來,這樣你的輸出就可以有空格。 它必須是雙引號,因為單引號內的內容不會被執行。
您想要的表格工作得很好:
$ cat >Retvar.py
#!/usr/bin/python
import sys
print sys.argv[1]
$ chmod +x RetVar.py
$ foo=`./RetVar.py 42`
$ echo $foo
42
$
所以大概是你嘗試打印的方式不正確。 (這完全獨立於使用舊式反引號或更新式的結構,如$()
)。 如果您仍然遇到此問題,是否可以向我們展示再現它的Python代碼的最小示例,以幫助我們為您提供幫助?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.