1
我想在一個bash腳本中嵌入一個小的python腳本,這樣我就可以將一個json對象發送到套接字。 我曾嘗試下面的代碼:嵌入在bash中的Python不起作用
python -c "$(cat << 'EOF'
import socket
import json
data = {'ip':192.168.1.150', 'status':'up'}
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 13373))
s.send(json.dumps(data))
result = json.loads(s.recv(1024))
print result
s.close()
EOF
)"
這: 蟒蛇-c「 進口插座 進口JSON
data = {'ip':192.168.1.150', 'status':'up'}
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 13373))
s.send(json.dumps(data))
result = json.loads(s.recv(1024))
print result
s.close()
"
但我不斷收到以下錯誤:
data = {'ip':192.168.1.150', 'status':'up'}
^
SyntaxError: invalid syntax
我假設這是因爲bash解釋這個,而不是python。我已經測試了python腳本中的代碼, nd它的工作。 另外,我需要-c選項嗎?我在Python中完全沒有經驗,我爲我正在編寫的項目編寫了一些相當廣泛的bash腳本,並且需要將這些輸出發送到套接字作爲json對象。這樣一個嵌入式Python代碼的小剪輯似乎是迄今爲止最簡單的答案,除非任何人有其他建議。
Python版本安裝在CentOS的Python 2.6.6
感謝@約翰。凌晨3點編碼,恐慌我的解決方案不起作用。感謝您的時間,我應該注意到這一點。 – jewfro 2015-04-01 23:39:51