[英]Execute bash script from URL using python
假设我在http://mysite.com/myscript.sh中有一个文件,其中包含:
#!/bin/bash
echo "Hello $1"
从命令行,我可以使用以下命令执行脚本(无需下载):
bash <(curl -s http://mysite.com/myscript.sh) World
现在,我不想从命令行执行上述命令,而是想从python脚本执行它。 我尝试执行以下操作:
import os
os.system('bash <(curl -s http://mysite.com/myscript.sh) World')
...但是出现以下错误:
sh:-c:第0行:意外令牌'('附近的语法错误
如何使它在python中正确执行?
显然, os.system
通过/bin/sh
运行它的命令,这通常会使它链接到的任何shell都下降到不包含<(...)
构造的兼容模式。 您可以通过将结果存储在临时文件中或使用其他级别的Shell来解决它。 丑陋,但是行得通。
os.system('bash -c "bash <(curl -s http://mysite.com/myscript.sh) World"')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.