O Python é uma linguagem de script de uso geral, como o Perl. Isso significa que é uma ferramenta mais poderosa que o bash scripting, mas também significa que a sintaxe geralmente será mais detalhada e a escrita de scripts será mais complicada. Os scripts Bash têm a vantagem de serem específicos de domínio, e isso significa que eles fazem muitas suposições que facilitam a maioria das tarefas. No entanto, se as suposições bash fizeram não se encaixam na tarefa que você precisa fazer, você pode ter que percorrer o caminho mais longo para fazer as coisas funcionarem da maneira que você precisa.
Esta é a mesma pergunta que os sysadmins do Windows usavam para lidar com a escrita em lote ou VBScript. O PowerShell ajuda a aliviar isso um pouco, mas você ainda enfrenta a questão de "essa tarefa é complexa o suficiente para exigir o PowerShell ou um script em lote é bom o suficiente para que o trabalho seja feito de forma confiável?".
Na realidade, depende da tarefa que você precisa fazer. Se uma tarefa é mais fácil de escrever e manter em Python, use-a. Se bash é realmente muito simples, use isso. As linguagens de script são ferramentas . Use-os como tal. Use a ferramenta que melhor se adapte aos requisitos da sua tarefa.
Quando escrevo um script, tenho uma lista de verificação mental:
- Qual é exatamente a tarefa que estou tentando realizar? O primeiro passo é sempre definir o problema.
- Qual idioma é mais rápido para eu escrever este script? Meu tempo é valioso.
- Qual idioma é melhor para alguém ler, entender e dar suporte a essa tarefa? O tempo das outras pessoas é valioso também.
- Qual idioma resultará em uma correção mais robusta, mais confiável ou mais a longo prazo? Eu quero escrever isso uma vez e consertá-lo para sempre.
- Existe alguma coisa que torne a linguagem inadequada? O Python ou o PowerShell não estarão disponíveis ou determinados módulos não serão instalados? Meu arquivo de lote ou script bash chamar programas que não são garantidos para estar presentes e que eu não posso manter com o script?