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