Como executar instruções multilinhas em uma linha de comando de uma linha
Ao executar um loop de linha única com a opção -c do Python , importar um módulo antes do loop resultará em um erro de sintaxe. Isso ocorre porque o interpretador Python trata o bloco de código como uma única instrução.
Para resolver esse problema, vários métodos podem ser empregados:
Usando Pipes
Para superar o erro de sintaxe, use o comando echo para redirecionar o bloco de código para Python como uma série de linhas de entrada:
echo -e "import sys\nfor r in range(10): print 'rob'" | python
Usando exec()
Outra abordagem é usar a função exec() para executar o bloco de código como um script Python:
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"
Expandindo para múltiplas linhas
Se estiver usando pipes ou exec() não for viável, o bloco de código pode ser expandido para várias linhas separadas por ponto e vírgula:
(echo "import sys" ; echo "for r in range(10): print 'rob'" ; echo "exec(\"import sys\nfor r in range(10): print 'rob'")") | python
Ao utilizar essas técnicas, você pode executar instruções multilinhas em uma única linha de comando enquanto mantém a estrutura desejada para seu Makefile.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3