#python #linux #ssh #paramiko
#python #linux #ssh #парамико
Вопрос:
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 amp;amp; pwd')
Я хочу передать переменную ‘a’ в exec_command ..
Я пытаюсь получить путь к файлу от пользователя и сохраняю его в переменной a, я хочу знать, как я могу передать переменную a команде Cd в функции exec_command
Ответ №1:
Поскольку при внедрении кода могут быть некоторые недостатки безопасности, вы не должны форматировать пользовательский ввод непосредственно в команды оболочки.
Здесь вы можете использовать переменные среды:
stdin,stdout,stderr=client.exec_command('cd "$a" amp;amp; pwd', environment={'a': a})
Ответ №2:
Вы пробовали создавать команду из переменной?
stdin,stdout,stderr=client.exec_command('cd ' str(a) 'amp;amp; pwd')
Комментарии:
1. спасибо.. Позвольте мне попробовать это
2. Это может быть невероятно опасным.