我有一些像在bash腳本如下:在Bash中,一個here-document如何包含一個變量然後存儲在一個變量中?
URL="${1}"
IFS= read -d '' code << "EOF"
import urllib2
from BeautifulSoup import BeautifulSoup
page = BeautifulSoup(urllib2.urlopen("${URL}"))
images = page.findAll('img')
for image in images:
print(image["src"])
EOF
python <(echo "${code}")
如何能在這裏文檔的定義方式(例如,不使用read
)來改變,使得可變${URL}
在這裏的文件中得到解決然後這裏的文件存儲在變量${code}
?目前,here-document被成功存儲在變量中,但這裏的文檔中的變量沒有被解析。從EOF
我強烈建議將URL傳遞到'sys.argv'或'os.environ',而不是替換到腳本中 - 這就是代碼注入漏洞。考慮一個包含'「+ __ import __('shutil')。rmtree('/')+」'的URL。 – 2014-12-02 17:22:44