Передайте аргумент скрипту оболочки через paramiko client.exec_command
Я хочу передать аргумент в сценарий оболочки динамически через Paramiko. Я пытался, но я не могу этого достичь. Если кто-нибудь знает, пожалуйста, дайте мне знать.
Ниже мой код:
Код Python:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("192.168.10.5", username='root', password='root')
backup_name="test_backup"
stdin, stdout, stderr = client.exec_command('./backup.sh',backup_name)
stdin.write('next')
stdin.flush()
Скрипт оболочки (backup.sh):
#!/bin/bash
virsh snapshot-create-as one-96 "'$1'"
Я хочу создать резервную копию с именем резервной копии, упомянутым в коде python, через скрипт оболочки. Как передать это имя в exec_command в сценарий оболочки? Заранее спасибо!!!!
1 ответ
Чтобы передать аргументы exec_command , просто используйте следующий формат:
exec_command(command, bufsize=-1, timeout=None, get_pty=False, environment=None)
В вашем примере (exec_command('./backup.sh',backup_name)) вы можете сделать это следующим образом:
exec_command(command='./backup.sh', bufsize=-1, timeout=None, get_pty=False, environment=dict(backup_name=backup_name))