Я пишу небольшую программу, которая должна выполнять команду на удаленном сервере (скажем, довольно глупая оболочка вокруг ssh [hostname] [command]
).
Я хочу выполнить его так:
./floep [command]
Однако мне нужно время от времени передавать определенные командные строки:
./floep -v [command]
поэтому я решил использовать optparse.OptionParser для этого. Проблема в том, что иногда у команды также есть аргумент, который отлично работает, если я это сделаю:
./floep -v "uname -a"
Но я также хочу, чтобы он работал, когда я использую:
./floep -v uname -a
Идея состоит в том, что, как только я столкнусь с первым аргументом без опций, все, что после этого должно стать частью моей команды.
Это, однако, дает мне:
Usage: floep [options]
floep: error: no such option: -a
Поддерживает ли OptionParser этот синтаксис? Если так: как?
Если нет: как лучше это исправить?