在echo命令

时间:2016-11-24 10:59:50

标签: python string shell echo paramiko

我是python以及shell的新手。我正在尝试将此命令(解析“Varying sentence”)发送到服务器。

('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')

句子各不相同。我不能硬解码parse命令中的句子。所以我尝试传递变量“body_encoded”,如下所示:

  ('echo "(parse \\"${body_encoded}\\")" |nc localhost xxxxx')

但这里出了点问题。如何传递具有字符串值的变量“body_encoded”?

  exec_command('echo "(parse \\"varying sentence\\")"')

2 个答案:

答案 0 :(得分:3)

您可以使用字符串插值:

ssh_client.exec_command('echo "(parse \\"%s\\")" |nc localhost xxxxx' % body)

答案 1 :(得分:-2)

尝试传递这样的原始字符串: ggplot(family_abundance, aes(x=interaction(sex,row), y=value, group=sex,fill=factor(variable))) + geom_bar(stat="identity")+ facet_grid(.~row, scales = 'free')+ scale_x_discrete("Week",labels=levels(family_abundance$sex)) 即改为使用转义字符添加' r'就在你的字符串之前。也许这会有所帮助。