Как передать переменную в команду bash в Python - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть скрипт 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 голосов
/ 20 апреля 2019

Используйте один из механизмов 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)
...