我想執行一個bash命令作爲我的curl語句的一部分。 bash命令假設執行一個顯示一些消息的python文件。我該如何去實現這一目標?這裏是我的嘗試,但不能正常工作,並顯示該命令的字符串,而不是實際執行bash命令的:在curl語句中運行bash命令
curl -X POST --data-urlencode 'payload={"channel": "#pxc-wsrep-test", "username": "webhookbot", "text": python test2.py, "icon_emoji": ":ghost:"}' https://hooks.slack.com/services/F065ZJS3N/B4JT9K2TM/5KWZRYFIGhLL0MimiHAW6Gbz
下面是我的python腳本,test2.py,我要執行:
from subprocess import Popen, PIPE, STDOUT
cmd = 'mysql -uroot -psecret -e"show status like \'wsrep_local_state_comment\'\G"'
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
output = p.stdout.read()
print output
所以我試圖運行python腳本內捲曲,如下面所示: 從子進口POPEN,PIPE,STDOUT 導入請求
paylod={"text": 'mysql -uroot -psecret -e"show status like \'wsrep_local_state_comment\'\G"'}
r = request.post('https://hooks.slack.com/services/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', data=payload)
print(r.test)
{
"form": {
"test": 'mysql -uroot -psecret -e"show status like \'wsrep_local_state_comment\'\G"'
},
}
但即使安裝pip和請求後,我仍然收到以下錯誤。
Traceback (most recent call last):
File "test.py", line 5, in <module>
r = request.post('https://hooks.slack.com/services/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', data=payload)
NameError: name 'request' is not defined
的反應,我認爲你有一個向後的那樣簡單。如何將curl語句包含在bash腳本中? – dawg
你可以給我一個例子嗎?因爲捲曲,我只是想發佈一條消息,這是執行我的bash命令的結果。 –
你可以直接從Python運行curl命令。只需選擇您想要使用的膠水:Bash或Python。 curl不是一種編程語言。 – dawg