繁体   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