#python
#python
Вопрос:
У меня возникли трудности с выполнением приведенной ниже команды на удаленном сервере. Я пробовал разные модули, такие как. OS amp; Commands, но ни один из них не может выполнить команду как есть. Я получаю либо синтаксическую ошибку, либо нежелательный результат, если добавляю дополнительные кавычки. Может кто-нибудь, пожалуйста, помочь с этим.
mminfo -av -ot -q "client=test,savetime>=2 days ago" -r "group,client,sscreate(20),sscomp(20),ssflags,level,name,sumsize,pool" | grep "TEST"
Комментарии:
1.просто use
subprocess.run(your_command, shell=True)
your_command
может быть заключен в одинарные или тройные кавычки (не двойные, потому что вы используете их в своей команде).'''mminfo -av -ot -q "client=test,savetime>=2 days ago" -r "group,client,sscreate(20),sscomp(20),ssflags,level,name,sumsize,pool" | grep "TEST"'''
2. Если вам нужно запустить команду на удаленной машине, может быть полезно изучить модуль, специально предназначенный для этого. Я предлагаю использовать Paramiko, он очень мощный.
Ответ №1:
Я должен был добавить это в качестве ответа вместо комментария.
Просто используйте subprocess.run subprocess.run(your_command, shell=True)
your_command
может быть заключен в одинарные или тройные кавычки (не двойные, потому что вы используете их в своей команде).
your_command = '''mminfo -av -ot -q "client=test,savetime>=2 days ago" -r "group,client,sscreate(20),sscomp(20),ssflags,level,name,sumsize,pool" | grep "TEST"'''