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