我是python以及shell的新手。我試圖發送這個命令(解析「Varying sentence」)到服務器。在echo命令中傳遞python變量
('echo "(parse \\"trees are tall\\")" |nc localhost xxxxx')
我試過如下:
ssh_client = paramiko.SSHClient()
ssh_client.connect('server', username='wefw', password='fwf')
for line in json_text:
line = line.rstrip('\r\n')
json_content = json.loads(line)
body = ''
try:
body = json_content['id']['body']
body_encoded = body.encode('utf-8')
stdin, stdout, stderr=ssh_client.exec_command('echo "(parse \\"${body_encoded}\\"})" |nc localhost xxxxx')
的判決而改變。我無法在解析命令中對句子進行硬編碼。所以我嘗試像這樣傳遞變量「body_encoded」:
('echo "(parse \\"${body_encoded}\\")" |nc localhost xxxxx')
但這裏有些問題是錯誤的。我怎樣才能傳遞變量,「body_encoded」具有字符串值?
exec_command('echo "(parse \\"varying sentence\\")"')
這似乎是比較合適的答案。我嘗試過這個。但我無法得到這個工作。身體沒有發送。硬編碼只適用於我。 :-(。任何調試方式? – vishnu
嘗試構建字符串並打印_before_你調用'exec_command'來驗證插值是否正常工作,如果不是,嘗試打印'body'來驗證它是否包含你期望的 –
是的,我在exec_command後打印了「body」,它有句子,我還在exec_command之前打印了str(body),它也可以工作!! – vishnu