J'utilise OptionParser(), et définir les éléments suivants:Recevoir une commande shell comme argument de chaîne de OptionParser
parser.add_option("--cmd", dest="command", help="command to run")
Cependant, si je fournis une commande shell complexe, comme:
python shell.py --cmd "for i in `seq 1 10`; do xxx; done"
et intérieurement imprimer options.command
, je reçois quelque chose d'inattendu pour moi:
for i in 1
2
3
4
5
6
7
8
9
10; do
est-il un bon moyen de passer une option OptionParser qui est une commande shell?
Je ne veux pas t o utiliser des échappements dans la commande d'entrée, il y a plus de caractères spéciaux dans la commande étendue que ', est-ce encore possible? – sramij
Il est lié à votre shell plus de python. Essayez d'utiliser 'au lieu de' – napuzba