如何在Python中将变量传递到bash命令

时间:2019-04-20 09:35:37

标签: python python-2.7 string-formatting

我有一个Python脚本,它可以随机选择一个端口并将其传递给bash命令:

#!/usr/bin/env python
import random
import os

# Select a port at random
port = ['22', '23', '24']
selected_port = (random.choice(port))
# print 'selected_port

bashCommand = "ssh -p '${selected_port}' -i pi.rsa pi@192.168.1.xx"
os.system(bashCommand)

selected_port变量传递给我的bashCommand的正确方法是什么?目前,我得到一个SyntaxError: EOL while scanning string literal

1 个答案:

答案 0 :(得分:0)

使用Python的字符串插值机制之一:

bashCommand = "ssh -p '%s' -i pi.rsa pi@192.168.1.xx" % selected_port

bashCommand = "ssh -p '{}' -i pi.rsa pi@192.168.1.xx".format(selected_port)