Quais destes enganos comuns em scripts shell você comete?
| Tweet |
|
Talvez não sejam propriamente enganos nem erros, mas este artigo faz um interessante trabalho de listar uma série de construções relativamente comuns em scripts shell, mas que incluem algum problema de portabilidade, desempenho, legibilidade ou mesmo estilo. Eu cometo vários!
Saiba mais (pixelbeat.org).
| Tweet |
|
• Link direto para este post: http://br-l.org/!1556
• Siga no Twitter: @brlinuxblog e @augustocc
• Mais posts do mesmo tema: Comunidade










I don’t do shell screeeeepts, you insensitive clod!
Excelente artigo. Só não concordo em _não_ usar bashismos.
Na minha opinião o Bash tem excelentes recursos que poder ser usados sem dó nem piedade.
Só precisa de bom-senso de apostar o shebang pra /bin/bash ao invés de /bin/sh, como muita gente faz (e acaba tendo resultados desagradáveis quando usa Ubuntu, por exemplo, que aponta o /bin/sh pra /bin/dash)
Tá melhorando o nível aqui. Até citação tá rolando. Quem vai começar com as analogias de carro? Mas posso estar errado… I’m new here. ;)
Concordo com o colega acima. Não existem “bashismos”. Ou vc escolhe um interpretador de comandos padrão, ou não sai do lugar.
Criar um script que seja “interoperável” entre vários interpretadores diferentes ao meu ver não tem aplicação alguma.
set i=10 # tcsh
i=10 # bash, zsh
set i 10 # fish
São a mesma coisa, mas em cada interpretador tem uma sintaxe diferente. Além do mais, quem ainda usa o sh (o shell padrão do unix, de 30 anos atrás)?
Eu costumo escrever scripts em bash com o máximo que o bash venha a me oferecer. Desde expansão de variáveis, aritmética, e coisas do tipo.
A maioria das distros linux e variantes Unix possuem o bash ou o csh, portanto não há problema algum em explorar ao máximo. Tirando o Ubuntu, que, como disse o colega acima, em versões anteriores trazia o interpretador dash (que eu não tenho a mínima idéia do que seja ;-)).