簡體   English   中英

如何將Python變量傳遞給Bash?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM