Как я могу использовать переменную, присутствующую в программе Python внутри функции выполнения команды Linux - PullRequest
0 голосов
/ 07 апреля 2019
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.WarningPolicy())
client.connect('example.com',22,'XXXXX','XXXX')
a=input ("enter the file path")
stdin,stdout,stderr=client.exec_command('cd a && pwd')

Я хочу передать переменную 'a' в exec_command .. Я пытаюсь получить путь к файлу от пользователя, и я храню его в переменной a, я хочу знать, как я могу передатьпеременная a для команды Cd в функции exec_command

Ответы [ 2 ]

1 голос
/ 07 апреля 2019

Поскольку при внедрении кода могут быть некоторые недостатки безопасности, вы не должны форматировать ввод пользователя непосредственно в команды оболочки.

Здесь вы можете использовать переменные окружения:

stdin,stdout,stderr=client.exec_command('cd "$a" && pwd', environment={'a': a})
0 голосов
/ 07 апреля 2019

Вы пытались построить команду из переменной?

stdin,stdout,stderr=client.exec_command('cd ' + str(a) + '&& pwd')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...